如何在ASP.NET表中创建标题和正文?我需要这些标签,因为jquery和asp.net只给我tr,th和td。
发布于 2012-05-11 21:49:53
弗雷德里克的回答并不准确。Table确实支持<tbody>
和<thead>
标记,但方式不如HtmlTable明显。
对于表,默认情况下UseAccessibleHeader是真的,这意味着您的标题行将使用<th>
而不是<td>
正确呈现,但要获得<tbody>
和<thead>
标记,您只需在Page_Load和在代码隐藏中创建/插入行时设置一些巫毒。
下面是我的示例asp:Table markup:
<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>
在Page_Load中,我们指定TableHeaderRow1应该是一个TableHeader:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
TableHeaderRow1.TableSection = TableRowSection.TableHeader
End Sub
最后,在向所述表中插入行的函数中,只需指定添加的每一行的TableRowSection都是一个TableBody:
Dim row As TableRow
Dim dvRow As Data.DataRowView
For Each dvRow In dv
row = New TableRow
row.TableSection = TableRowSection.TableBody 'THIS is the important bit
cell = New TableCell
Col1Stuff = New Label
Col1Stuff.Text = "Blah"
cell.Controls.Add(Col1Stuff)
row.Cells.Add(cell)
...
tblGeneral.Rows.Add(row)
Next
你可以在TableRowSection property上做更多的阅读;看起来你也可以用你的asp:Table模板来实现这一点。
https://stackoverflow.com/questions/4015839
复制相似问题