2010-05-07 63 views
17

与旧的可靠表格HTML实现相比,ASP.Net控件<asp:Table>有什么区别?<asp:Table> vs html <table>

我知道<asp:Table>将作为HTML表返回到返回的页面,但是ASP.Net控件是否带有我缺少的任何好处?

+1

我从来没有使用ASP:表,我从1.0版开始就是.Net开发者。我从来没有找到它的用途。 – David 2010-05-07 03:20:51

回答

11

“常规” <table>不适用于修改在服务器端的所有。就服务器端而言,它只是输出到浏览器的静态文本。

我会说,作为一般规则,赞成<table>,除非您明确需要修改服务器上的表的结构。使用<asp:Table>意味着您需要为该表运行代码隐藏,生成服务器端控件等等。如果你没有使用任何功能,那么没有意义。

此外,一般来说,<asp:DataTable>通常比纯粹的<asp:Table>更有用,因为它支持数据绑定等。

通常情况下,如果我只是想显示/隐藏在表(或其它)单行然后我就只是把runat="server"上,我想控制,而不是使用一个整体<asp:Table><tr>

+2

在最后一句中提到runat =“server”会使这个评论无用。它应该被包含在第一句话中,但是那时你会基本上说'

'不可用服务器端通过'',哦,所以是'
“在这种情况下,讨论变成是否使用System.Web.UI.WebControls.Table与System.Web.UI.HtmlControls.HtmlTable,我认为这是一个更有用的讨论。 – devlord2012-06-21 19:03:05

3

请注意,有些情况下ASP HtmlTables无法输出符合标准的HTML。例如,他们do not support complete table semantics(thead/tfoot/tbody,cols,caption ...);如果您尝试以编程方式包含这些元素,他们会抛出异常。

这些是对可访问内容的严重限制。