我刚刚将一些代码从使用HtmlTable
控件转换为基于网络的Table
控件,我发现除TableRow
类之外还有TableHeaderRow
。我愚蠢地基于这里的一半读取评论做出假设,如果一行是其中之一,它将被放入输出HTML中的thead
元素中。事实并非如此。
当这不起作用时,我仔细观察并注意到TableHeaderRow
似乎没有实际代码,并且TableSection
的{{1}}属性并不关心它是否为TableRow
或不。{/ p>
那么这种类型的重点是什么?看起来在实践中它与TableRow类完全相同,你仍然必须在其上设置TableHeaderRow
属性,告诉它它是TableSection
行。
这是否有一个很好的用例场景?我当然想不出一个......
修改条款
在我的调查中,我使用了Refactor来查看所涉及的代码。这就是我如何确定thead
似乎来自TableHeaderRow
,但实际上并未实现任何新的。{/ p>
在确定是否输出TableRow
时,Table
的呈现中,它看起来纯粹是thead
属性。它并不关心行的实际类型是什么,我无法在任何地方找到一行代码,而这些代码的行为与行不同的行的类型完全不同。
我正在寻找一个实际的例子,说明它有何不同。虽然我很欣赏文档引用,但它们实际上似乎与我正在查看的代码不相符。
答案 0 :(得分:4)
我想知道同样的事情。当我看到页面时 Creating ASP.NET table header row我意识到我没有像我应该设置TableSection属性:
hRow.TableSection = Web.UI.WebControls.TableRowSection.TableHeader
它在输出html中将<thead>
元素设置为apear。
答案 1 :(得分:2)
此类支持在屏幕有限的设备上显示表格 尺寸。在这些设备上,必须有一个包含许多列和行的表 跨多个页面呈现。将TableHeaderRow添加到表中 control允许您指定呈现为的标题行 显示表格视图的每个页面上的第一行。
我从中推断,TableRow
并没有提供这种支持。