【发布时间】:2011-02-16 16:14:05
【问题描述】:
ASP.Net 控件<asp:Table> 与旧的可靠表格HTML 实现相比有什么区别?
我知道<asp:Table> 最终会以 HTML 表格的形式出现在返回的页面上,但是 ASP.Net 控件是否具有我所缺少的任何好处?
【问题讨论】:
-
我从未使用过 ASP:Table,而且我从 1.0 版开始就是一名 .Net 开发人员。我从来没有发现它的用途。
ASP.Net 控件<asp:Table> 与旧的可靠表格HTML 实现相比有什么区别?
我知道<asp:Table> 最终会以 HTML 表格的形式出现在返回的页面上,但是 ASP.Net 控件是否具有我所缺少的任何好处?
【问题讨论】:
“常规”<table> 在服务器端无法修改根本。就服务器端而言,它只是输出到浏览器的静态文本。
我会说,作为一般规则,支持<table>,除非您明确需要修改服务器上的表结构。使用<asp:Table> 意味着您需要为表运行代码隐藏、生成服务器端控件等开销。如果您不使用任何该功能,那就没有意义了。
另外,一般来说,<asp:DataTable> 通常比普通的<asp:Table> 更有用,因为它支持数据绑定等。
通常,如果我只想在表格(或其他东西)中显示/隐藏一行,那么我只需将 runat="server" 放在我想要控制的 single <tr> 上,而不是使用整个<asp:Table>。
【讨论】:
请注意,在某些情况下 ASP HtmlTables 无法输出符合标准的 HTML。例如,他们do not support complete table semantics (thead/tfoot/tbody, cols, caption...);如果您尝试以编程方式包含这些元素,它们将引发异常。
这些是可访问内容的严重限制。
【讨论】: