7

我刚刚将一些代码从使用HtmlTable控件转换为基于 Web 的Table控件,我发现除了TableRow类之外还有TableHeaderRow. 我基于这里的一些半读评论愚蠢地做出了假设,如果一行是其中之一,它将被放入thead输出 HTML 中的一个元素中。不是。

当这不起作用时,我仔细看了看,发现TableHeaderRow上面似乎没有实际代码,并且TableSection属性TableRow不关心它是否为 a TableHeaderRow

那么这种类型的意义何在?似乎在实践中它与 TableRow 类完全相同,您仍然必须在其上设置TableSection属性以告诉它它是thead一行。

这有一个很好的用例场景吗?我当然想不出一个...

编辑澄清

在我的调查中,我使用 Refactor 来查看所涉及的代码。这就是我如何确定这TableHeaderRow似乎源自TableRow但实际上并未实现任何新事物。

Table在确定是否输出 a的渲染中,thead它似乎纯粹是看TableSection属性。它不关心行的实际类型是什么,而且我在任何地方都找不到一行代码,它的行为完全不同于行的类型不同。

我正在寻找一个实际的例子来说明它的不同之处。虽然我很欣赏文档参考,但它们实际上似乎与我正在查看的代码不匹配。

4

2 回答 2

4

我想知道同样的事情。当我看到 创建 ASP.NET 表标题行页面时,我意识到我没有按我应该的方式设置 TableSection 属性:

hRow.TableSection = Web.UI.WebControls.TableRowSection.TableHeader

它使<thead>元素出现在输出 html 中。

于 2014-10-03T03:33:26.287 回答
2

根据这个 MSDN 条目

此类支持在屏幕尺寸有限的设备上显示表格。在这些设备上,必须跨多个页面呈现具有许多列和行的表。将 TableHeaderRow 添加到 Table 控件允许您指定标题行,该标题行呈现为显示表视图的每个页面上的第一行。

我会从中推断出TableRow不会暴露这种支持。

于 2012-11-15T12:24:07.357 回答