0

我的 aspx 页面中有一个表格:

<table id="tbl" runat="server">
</table>

我需要在后面的代码中设置表格标题,使其呈现如下:

<table id="tbl" runat="server">
   <caption>Monthly savings</caption>
</table>

任何帮助将不胜感激。

4

3 回答 3

1

这不可能。控件HtmlTable只能包含<tr>它们,其他所有内容都将被删除。这是来自 MSDN的完整说明:

不支持复杂的表模型。您不能拥有带有嵌套<caption>, <col>, <colgroup>, <tbody>, <thead>, or <tfoot>元素的 HtmlTable 控件。这些元素会在没有警告的情况下被删除,并且不会出现在输出 HTML 中。如果您尝试以编程方式将这些表模型元素添加到 HtmlTable 控件的 Control.Controls 集合中,则会引发异常。

您的选择是切换到asp:Table控制,或切换回纯标记。

于 2013-02-21T16:39:55.000 回答
1

Brad M 之前的响应几乎是正确的,您必须添加一个 runat="server" 属性、一个 ID 属性并将其设置为您认为合适的某个值,然后在服务器端代码:

一个很大的警告思想,你需要在表格元素之前放置标题,里面是不可能的

idYouGave.InnerText = "Monthly savings";

由于您不能直接在 内部使用,请执行以下操作来实现您想要的:

<tr>
  <th colspan="numOfCols"><caption>...</caption></th>
</tr>
于 2013-02-21T16:40:30.500 回答
1

只需将 runat="server" 属性添加到您的标题元素,并给它一个 ID。然后在后面的代码中将其称为 caption.InnerText = "Monthly Savings";

于 2013-02-21T16:34:54.750 回答