2012-07-17 236 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