在asp.net mvc中点击按钮动态添加控件

时间:2010-04-12 12:47:25

标签: asp.net-mvc

我正在创建一个asp.net MVC应用程序,我想在其中提供动态添加控件的功能。我有一个表单,其中有2个名字和姓氏的文本框作为单个控件。现在,用户可以添加任意数量的此组控件。我可以使用java脚本在页面上添加这些控件。但我不知道如何在用户提交时访问这些控件的值。

请帮助或建议另一种方法

由于

3 个答案:

答案 0 :(得分:2)

使用Jquery AJAX调用进行提交操作。

您可以通过控件进行交互(使用jquery类选择器和$ .each很容易)并将变量推送到js变量中。 将其解析为JSON并使用ajax调用将数据传递回控制器..

答案 1 :(得分:2)

阅读Steve Sanderson撰写的文章Editing a variable length list, ASP.NET MVC 2-style。它向您展示了如何以干净的MVC风格完成您所需的工作。

答案 2 :(得分:1)

如果你是从webforms的角度来看,你已经习惯于在代码隐藏中以编程方式添加这些新控件。使用ASP.NET MVC,你最好用javascript做这件事。

编写一个添加FirstName1,FirstName2,FirstName3等的javascript函数应该是微不足道的。在Controller中,检查Request.Form.AllKeys以确定用户添加了多少字段。

您还可以在名为“txtNumFields”的隐藏字段中迭代一个数字,然后将其用作for循环中的控制值:

int numFields = int.Parse(Request.Form["txtNumFields"]);
for (i==0;i<numFields ;i++)
{
   string firstName = Request.Form["FirstName" + i.ToString()];
   ...
}