我已经阅读了这篇文章,它展示了如何通过使用编辑器模板来显示动态字段http://coding-in.net/asp-net-mvc-3-how-to-use-editortemplates/
如何通过单击“添加字段”按钮创建新字段?
我已经用谷歌搜索了这个并查看了一些示例,但对于应该是一个简单的过程来说,它们似乎太复杂了。在 PHP 中,您只需附加[]
到字段名称的末尾,然后您就可以通过循环运行它...
在 MVC 中应该有一种更简单的方法来做到这一点,因为它是较新的技术,对吧?
我已经阅读了这篇文章,它展示了如何通过使用编辑器模板来显示动态字段http://coding-in.net/asp-net-mvc-3-how-to-use-editortemplates/
如何通过单击“添加字段”按钮创建新字段?
我已经用谷歌搜索了这个并查看了一些示例,但对于应该是一个简单的过程来说,它们似乎太复杂了。在 PHP 中,您只需附加[]
到字段名称的末尾,然后您就可以通过循环运行它...
在 MVC 中应该有一种更简单的方法来做到这一点,因为它是较新的技术,对吧?
动态表单字段可以很容易地完成,如下所示:
模型:
public class MyViewModel
{
public string Name { get; set; }
public List<string> EmailAddresses { get; set; }
}
看法:
@model MyViewModel
@Html.TextboxFor(m => m.Name)
@* you can add as many of these as you like, or add them via javascript *@
<input type="text" name="EmailAddresses" />
<input type="text" name="EmailAddresses" />
<input type="text" name="EmailAddresses" />
@* you can also use razor syntax *@
@Html.Textbox("EmailAddresses")
控制器:
[HttpPost]
public ActionResult MyAction(MyViewModel model)
{
// note that model.EmailAddresses contains your list of email addresses
foreach (string email in model.EmailAddresses)
email = email; // do whatever you want with this...
return View();
}