如何在ASP.NET表中创建thead和tbody?我需要那些标签,因为jquery和asp.net只给我tr,th和td。
答案 0 :(得分:26)
asp:Table不支持这些元素。
更新:当jameh's answer显示时,上面的句子完全错误:
TableSection
属性允许控制 是否给定行进入表的标题,正文或页脚。
要详细说明他的答案,似乎你甚至可以通过在标记中设置TableSection
属性来声明性地实现这一点,而不需要代码:
<asp:Table id="yourId" runat="server">
<asp:TableHeaderRow TableSection="TableHeader">
<!-- ... -->
</asp:TableHeaderRow>
<asp:TableRow>
<!-- 'TableSection' defaults to 'TableRowSection.TableBody'. -->
<!-- ... -->
</asp:TableRow>
<asp:TableRow TableSection="TableFooter">
<!-- ... -->
</asp:TableRow>
</asp:Table>
原创,现在没有实际答案如下:
您可能希望尝试使用HtmlTable课程:
<table id="yourId" runat="server">
<thead>
.
.
.
</thead>
<tbody>
.
.
.
</tbody>
</table>
答案 1 :(得分:20)
弗雷德里克的回答并不准确。 asp:Table DOES实际上支持<tbody>
和<thead>
标签,但其方式不如HtmlTable。
UseAccessibleHeader为真,这意味着您的标题行将使用<th>
而不是<td>
正确呈现,但要获得<tbody>
和{{ 1}}标签,您只需在Page_Load设置一些伏都教,以及在代码隐藏中创建/插入行时。
这是我的示例asp:表标记:
<thead>
在Page_Load中,我们指定TableHeaderRow1应该是TableHeader:
<asp:Table runat="server" ID="tblGeneral">
<asp:TableHeaderRow ID="TableHeaderRow1" runat="server">
<asp:TableHeaderCell ID="TableHeaderCell1" runat="server">Column 1</asp:TableHeaderCell>
<asp:TableHeaderCell ID="TableHeaderCell2" runat="server">Column 2</asp:TableHeaderCell>
<asp:TableHeaderCell ID="TableHeaderCell3" runat="server">Column 3</asp:TableHeaderCell>
<asp:TableHeaderCell ID="TableHeaderCell4" runat="server">Column 4</asp:TableHeaderCell>
<asp:TableHeaderCell ID="TableHeaderCell5" runat="server">Column 5</asp:TableHeaderCell>
</asp:TableHeaderRow>
</asp:Table>
最后,在你的函数中将行插入到表中,你只需要指定你添加的每一行的TableRowSection是一个TableBody:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
TableHeaderRow1.TableSection = TableRowSection.TableHeader
End Sub
您可以在TableRowSection property上进行更多阅读;看起来你也可以使用你的asp:Table模板完成这个。