2010-05-07 76 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 ...);如果您嘗試以編程方式包含這些元素,他們會拋出異常。

這些是對可訪問內容的嚴重限制。