MVC动态表单字段

本文关键字:字段 表单 动态 MVC | 更新日期: 2023-09-27 18:11:45

我已经阅读了这篇文章,它展示了如何通过使用编辑器模板来显示动态字段http://coding-in.net/asp-net-mvc-3-how-to-use-editortemplates/

如何通过点击"添加字段"按钮创建新字段?

我已经谷歌这个,看了一些例子,但他们似乎太复杂了什么应该是一个简单的过程。在PHP中,您只需将[]附加到字段名称的末尾,然后可以通过循环运行它…

应该有一个更简单的方法在MVC中做到这一点,因为它是较新的技术,对吗?

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();
}