【问题标题】:ASP.NET CodeBehind C#: How to get cell values of HTML Table from codebehind?ASP.NET CodeBehind C#:如何从代码隐藏中获取 HTML 表格的单元格值?
【发布时间】:2012-05-02 18:05:32
【问题描述】:

例如这是表格:

<table id="users">
<thead>
  <tr class="ui-widget-header ">
    <th>Name</th>
    <th>Email</th>
    <th>Password</th>
  </tr>
</thead>
<tbody>
  <tr>
    <td><input type="text" value="Name1"/></td>
    <td><input type="text" value="Email1"/></td>
    <td><input type="text" value="Password1"/></td>
  </tr>  <tr>
    <td><input type="text" value="Name2"/></td>
    <td><input type="text" value="Email2"/></td>
    <td><input type="text" value="Password2"/></td>
  <tr>
</tbody>
</table>

然后我希望代码隐藏从表中获取值..请帮助。

【问题讨论】:

  • 我试过 foreach(在 users.Control 中控制 ctrl).. 但它不起作用

标签: html asp.net html-table code-behind


【解决方案1】:

您必须使用&lt;asp:TextBox&gt; 标签而不是&lt;input&gt; 标签。这使您能够从代码隐藏中的文本框中获取值。
请参阅 MSDN 上的 System.Web.UI.WebControls.TextBox documentation

更新:
如果您无法将&lt;input&gt; 标签更改为&lt;asp:TextBox&gt;,您可以访问通过Request.Form 发布的表单值,如下所示:

Request.Form[valueName]

其中 value name 是发布的值的名称。

【讨论】:

  • 所以无法输入文字?实际上我使用 javascript 动态添加行,我不能在那里放置 asp 标签.. 与jqueryui.com/demos/dialog/#modal-form 非常相似
  • 如果你想从代码隐藏中访问值,你不能使用&lt;input&gt;。 @Ravindra 的答案提供了另一种可能性,但您仍然无法从 javascript 动态添加一行。
  • $("#users tbody").append("" + "" + " " + "" + " tr>");这就是我创建行及其工作的方式,但我无法将该输入更改为 aspTextbox 我一直使用输入
  • 您可以使用Request.Form 访问通过表单发布的值。见msdn.microsoft.com/en-us/library/…
【解决方案2】:

像这样创建在服务器上运行的表

&lt;table id="users" runat="server"&gt;

您将能够使用 HtmlTable 类访问它。看看http://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmltable%28v=vs.80%29.aspx

【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签