如何在ASP.NET表中创建thead和tbody?

时间:2010-10-25 14:58:26

标签: jquery asp.net html-table

如何在ASP.NET表中创建thead和tbody?我需要那些标签,因为jquery和asp.net只给我tr,th和td。

2 个答案:

答案 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模板完成这个。