我刚刚将一些代码从使用
HtmlTable控件转换为基于Web的Table控件,我发现除TableRow类之外还有TableHeaderRow.我愚蠢地基于这里的一半读取评论做出假设,如果一行是其中之一,它将被放入输出HTML中的thead元素中.事实并非如此.
当这不起作用时,我仔细观察并注意到TableHeaderRow似乎没有实际的代码,并且TableRow的TableSection属性并不关心它是否是TableHeaderRow.
那么这种类型的重点是什么?看起来在实践中它与TableRow类完全相同,你仍然需要在它上面设置TableSection属性来告诉它它是一个thead行.
这有一个很好的用例场景吗?我当然想不出一个……
编辑以进行整理
在我的调查中,我使用了Refactor来查看所涉及的代码.这就是我如何确定TableHeaderRow似乎派生自TableRow但实际上并没有实现任何新的.
在确定是否输出thead时,在Table的呈现中,它看起来纯粹是在TableSection属性中.它并不关心行的实际类型是什么,我无法在任何地方找到一行代码,而这些代码的行为与纯行不同的行的行为完全不同.
我正在寻找一个实际的例子,说明它有何不同.虽然我欣赏文档引用,但它们实际上似乎与我正在查看的代码不匹配.
解决方法
我想知道同样的事情.当我看到页面时
Creating ASP.NET table header row我意识到我没有像我应该设置TableSection属性:
Creating ASP.NET table header row我意识到我没有像我应该设置TableSection属性:
hRow.TableSection = Web.UI.WebControls.TableRowSection.TableHeader
它使< thead>元素到输出html中的apear.