2013-02-21 43 views
0

我有一個表在我的aspx頁面:如何在代碼後面設置html表格標題? ASP.NET

<table id="tbl" runat="server"> 
</table> 

我需要設置在代碼中設置表格標題後面,所以它呈現如下:

<table id="tbl" runat="server"> 
    <caption>Monthly savings</caption> 
</table> 

任何幫助將不勝感激。

回答

1

從布拉德·M中的前一個反應幾乎是正確的,你必須添加中用runat =「server」屬性,ID屬性並將其設置爲您認爲合適的某個值,然後在服務器端代碼:

一個重要的提醒想法,你所需要的表元素之前放置標題,裏面是不可能

idYouGave.InnerText = "Monthly savings"; 

既然你不能直接使用裏面的,做這樣的事情來實現你想要的:

<tr> 
    <th colspan="numOfCols"><caption>...</caption></th> 
</tr> 
+0

與其他帖子相同的評論...此解決方案無法正常工作。代碼不能編譯。 – malkassem 2013-02-21 16:42:12

+0

您必須使用您在標題上設置的標識: ....只有在設置此標記後,纔可以在後面的代碼中使用該標識。有時,designer.cs文件不會更新,請嘗試從標記更改爲設計視圖,然後切換回來。 – 2013-02-21 16:46:08

+0

我確實使用了id,但是當我添加行代碼(使用正確的id)時它不會編譯。 – malkassem 2013-02-21 16:48:20

1

只需將runat =「server」屬性添加到您的caption元素,併爲其添加一個ID即可。然後在後面的代碼中將其稱爲caption.InnerText =「每月儲蓄」;

+0

剛剛嘗試過,並沒有奏效。我得到一個編譯錯誤,說當前上下文中不存在'caption'。 – malkassem 2013-02-21 16:40:48

1

這是不可能的。控制HtmlTable可以包含<tr>並且只有他們,其他所有內容都將被刪除。以下是完整說明from MSDN

不支持複雜表格模型。您無法使用嵌套的<caption>, <col>, <colgroup>, <tbody>, <thead>, or <tfoot>元素控制HtmlTable 控件。這些元素在沒有警告的情況下被刪除,並且 不會出現在輸出HTML中。如果 試圖以編程方式將這些表模型元素添加到HtmlTable控件的 Control.Controls集合,則會引發異常。

您的選項要麼切換到asp:Table控制,要麼切換回普通標記。

+0

至少在不考慮ASP.NET從呈現的角度去除元素的情況下,它就在那裏:http://jsfiddle.net/tnBdr/ – 2013-02-21 16:41:47

+0

請您詳細說明「切換回普通標記」的含義, ? – malkassem 2013-02-21 16:44:21

+0

@RicardoRodrigues,當然它可以在純HTML中。不幸的是,我們不得不考慮ASP.NET渲染,因爲除了''外,所有的標籤和控件都從'HtmlTable'中移除。 – Andrei 2013-02-21 16:44:32

相關問題