我正在创建一个asp.net MVC应用程序,我想在其中提供动态添加控件的功能。我有一个表单,其中有2个名字和姓氏的文本框作为单个控件。现在,用户可以添加任意数量的此组控件。我可以使用java脚本在页面上添加这些控件。但我不知道如何在用户提交时访问这些控件的值。
请帮助或建议另一种方法
由于
答案 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()];
...
}