【问题标题】:How can I get the contents of my table with dynamic row adding?如何通过动态行添加获取表的内容?
【发布时间】:2010-06-11 14:30:13
【问题描述】:

如何从服务器端检索包含以这种方式构造的表 html:

   <table id="myTable" > 
    <tr> 
        <th> <input type="text" value="name"/></th>
        <th> <input type="text" value="quantity" /> </th> 
    </tr> 
    <tr> 
        <th> <input id="name_1" value="phone" /> </th> 
        <th> <input id="quantity_1" value="15" /> </th> 
    </tr> 
    <tr> 
        <th> <input id="name_2" value="mp3" /> </th> 
        <th> <input id="quantity_2" value="26" /> </th> 
    </tr> 
</table>

我无法使用&lt;asp:Table&gt; ...,因为由于技术原因,我在这篇帖子之后没有找到解决方案:How to dynamic adding rows into asp.net table?

如何为每一行检索我的表(动态)的内容值。行将在客户端js中添加

谢谢。

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    简短的回答,即使您的表有 runat=server 标记,您也不能使用经典的 asp.net 服务器模型。

    由于表格不是输入控件,asp.net 框架在回发后不会在客户端跟踪对其所做的更改。事实上,在回发之后,新的更改将在下一页加载时丢失。

    但是,您可以通过多种方式在服务器上传递/获取此信息。

    您可以在其他地方跟踪表格更改,例如隐藏的输入字段。因此,无论您使用什么 javascript 来更新您的表格,让它也将信息保存到 asp.net 隐藏输入控件。而不是在回发之后,您可以从那里读取并随意解析。

    【讨论】:

      【解决方案2】:

      将 runat="server" 放入标签中。

      <table id="myTable" runat="server>
      

      更多详情:http://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmltable(v=vs.71).aspx

      【讨论】:

      • 感谢您的回答。但是使用这种方法,我只能看到在我的 aspx 页面中创建的行。然而,那些在 javascript 中创建的不计算在内。当:int nbr_Row = this.TableId.Rows.Count;
      【解决方案3】:

      使用 Request.Form("name_1") 获取值...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多