Asp.net mvc Dynamc字段-Post对象ASP NET MVC

Asp.net mvc Dynamc字段-Post对象ASP NET MVC,asp.net-mvc,Asp.net Mvc,我的型号 public class Person { public int Id { get; set; } public string Name { get; set; } } 我的控制器 public class PersonController : Controller { // GET: Home public ActionResult Index() { return View(); } [HttpPost]

我的型号

public class Person
{
    public int Id { get; set; }
    public string Name { get; set; }
}
我的控制器

public class PersonController : Controller
{
    // GET: Home
    public ActionResult Index()
    {
        return View();
    }
    [HttpPost]
    public ActionResult Save(Person[] people)
    {
        foreach (var p in people)
            // Do Something
        return View();
    }
}
我的观点

@using (Html.BeginForm("Save", "Person", FormMethod.Post))
{


新人
萨尔瓦多
}

我的脚本

<script type="text/javascript">

        $(document).ready(function () {
            $("#addItem").click(addField);
            addField(); 
        });

        function addField() {
            var html = "Name: <input type='text' name='people[]' />";
            $("#form").append(html);
        }
</script>

$(文档).ready(函数(){
$(“#添加项”)。单击(添加字段);
addField();
});
函数addField(){
var html=“Name:”;
$(“#表格”).append(html);
}
我需要将插入的数据从窗体发布到控制器,但不起作用。。。 我该怎么做


我阅读了关于绑定到模型数组的内容,我在上面做了这项工作。

您可以使用Ajax,我们需要从pOst更改您的表单,以允许JQuery执行此操作 使用$('#Form').Serialize()获取所有数据,并将其转换为C#人员列表 如果不起作用,尝试手动创建对象并发布它

 $.ajax({
            url: URL + 'Person/Save',
            type: 'POST',

            data:  $('#Form').Serialize()

            success: function (data) {
            },

            error: function (e, data) {
            }
        });
我使用了这个@Html.TextBox(“Person[0].Name”)。。但是我不能把这个HtmlHelper放在我的var html里面,比如:var html=@html.TextBox(“Person[0].Name”),当我按下按钮添加这个新的文本框时,什么都没有发生。。。如何动态创建Html.TextBox?其对应项为:var Html=“Name:”;我只是忘记了你的时间里的人[0]厚度:)
 $.ajax({
            url: URL + 'Person/Save',
            type: 'POST',

            data:  $('#Form').Serialize()

            success: function (data) {
            },

            error: function (e, data) {
            }
        });