htmltable c#,动态添加行jquery

时间:2012-12-04 23:56:16

标签: c# jquery html-table

在DOM加载后是否可以在C#中动态添加元素。以下是我的例子。

我们的想法是从用户干预中动态添加行,然后用户提交表单,C#codebehind将遍历每个新添加的行。

但是,无论添加多少行,C#都只计算1行。

这是HTML / Jquery / C#

HTML

在将新行添加到表之前。

<table id="tblRecordedBags" runat="server" class="tblBags">
    <tr>
        <th>Amount</th><th>Drop Bag Number</th><th>Edit</th><th>Remove</th>
    </tr>
</table>
<input type='text' class='txtBagNum' id='txtBagNum'>

的jQuery

用于添加新行。

$('.addBag').on('click', function(){
  $(".tblBags").append(
            '<tr class="bag"><td class="bag">'
                + $(".total").val() + '</td><td class="bagID">'
                + $(".txtBagNum").val() + '</td>'
                + "</tr>'
});

C#Codebehind

快速调试写

System.Diagnostics.Debug.Write(tblRecordedBags.Rows.Count);

2 个答案:

答案 0 :(得分:1)

这种情况正在发生,因为您从服务器端访问服务器端具有no knowledge of any changes to the DOM.

新行将添加到浏览器中,但默认页面保持不变,它们位于.aspx文件中,并且首先不会修改它们。

要获得正确的输出,您实际上可以在C#中添加行,然后尝试。

答案 1 :(得分:1)

我认为ASP.NET没有为javascript做好准备。

一种简单的方法是通过服务器端添加每行以及更新面板。

另一种方法是在提交之前尝试从隐藏字段中的行加载所有数据(例如,使用JSON编码)