2012-07-17 286 views
2

我有一個包含一些表格的asp.net網站。不過這些都不是ASP:表即它們是建立這樣簡單的HTML表:將行動態添加到HTML表格

<table><tr><td></td></tr></table> 

現在我想知道是否有可能從後面的代碼(即C#),如果動態地添加行到該表是的,我該如何去做呢?

+0

Web窗體或MVC。我建議在MVC中爲這種類型的事情做,或者如果你堅持使用Web表單,那麼使表runat =「server」 – 2012-07-17 09:10:26

+0

MVC。將行添加到一個asp:Table非常簡單,但不知道如何爲HTML表格添加行。 – Saiesh 2012-07-17 09:13:55

+0

參考這篇文章: - http://stackoverflow.com/questions/171027/add-table-row-in-jquery – 2012-07-17 09:25:18

回答

2

這已經有一段時間,但有中繼器控制在ASP.NET WebFor這種東西。

這裏是一個很好的文章介紹這個conept:Data Repeater Controls in ASP.NET

我認爲這會爲你更容易比這與AJAX/JScript的黑客這個

旁白:丹尼爾Casserly是正確的 - 這是很容易的如果你這樣做的MVC(更容易,如果你使用剃刀語法),因爲它會轉化做這樣的事情:

<table> 
    @foreach (var item in Model) 
    { 
     <tr> 
      <td>@item.Name</td> 
      ... whatever you need here ... 
     </tr> 
    } 
</table> 
+1

我知道有人比我懶惰寫Razor代碼。謝謝Carsten :-) – 2012-07-17 09:36:46

1

你可以做到這一點與jQuery但你需要給和Id或類或只是搜索表數組,然後注入排它

+0

哦,是的,一個ID肯定可以給。有沒有什麼辦法可以做到這一點,而不使用JQuery? – Saiesh 2012-07-17 09:16:01

3

你可以給它一個編號,並設置RUNAT =「server」屬性,並從代碼中使用它背後使用ID您給它

System.Web.UI.HtmlControls.HtmlTableRow r=new System.Web.UI.HtmlControls.HtmlTableRow(); 
      System.Web.UI.HtmlControls.HtmlTableCell c = new System.Web.UI.HtmlControls.HtmlTableCell(); 
      c.InnerText = "New Cell"; 
      r.Cells.Add(c); 
      T.Rows.Add(r); 

其中T是的Id您的表格

+0

我如何添加與每行或元素相關聯的css類?對於這些行和單元格元素,似乎沒有這樣做的功能。 – Saiesh 2012-07-17 11:21:20

+0

有Cell.style屬性我想這是添加樣式的地方,我從來沒有嘗試過 – 2012-07-17 11:41:20