Asp.net MVC动态生成文本框

时间:2010-05-28 08:19:24

标签: asp.net-mvc

我正在创建一个包含动态生成的文本框的页面。所有文本框的ID也在运行时生成。我想将所有文本框值发送到我的控制器并保存该数据。我如何得到所有文本框的价值。我可以使用javascript或JQuery。 谁能建议我?

提前致谢..

与Ashish

2 个答案:

答案 0 :(得分:0)

在asp.net mvc中,您可以直接在视图中生成HTML代码。例如:

<% for(int i = 0; i < 10; i++) { %>
  <input type='text' name='text-<%=i%>' id='text-<%=i%>' value="My box <%=i%>" />
<% } %>

这也可以由JQuery生成。如果您在服务器端有数据,最好使用这种方式。如果需要计算客户端,那么使用JQuery。

您还可以使用HTML帮助程序:

<%=Html.TextBox("name", "default value")%>

如果您需要设置ID,也可以添加参数。

然后,您将在控制器中检索此内容,方法是在参数中添加FormCollection并从中读取。

[HttpPost]
public ActionResult Example(int id, FormCollection post) {
  // Here FormCollection["text-0"] is equal to "My box 0"
}

答案 1 :(得分:0)

或许您只是迭代

中的所有值
Request.Form.Item

在你的控制器动作中......只需使用一个简单的for-each循环来遍历每个提交的值。