首页 > 解决方案 > 动态字段 - 发布对象 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 ActionResult Save(Person[] people)
    {
        foreach (var p in people)
            // Do Something
        return View();
    }
}

我的观点

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

{

<div id="form"></div>

<button type="button" class="btn btn-info" id="addItem">New Person</button>
<button type="submit" class="btn btn-success">Salvar</button>

}

我的脚本

<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>

我需要将插入的数据从表单发布到控制器,但不工作......我该怎么做?

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

标签: asp.net-mvc

解决方案


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

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

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

            success: function (data) {
            },

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

推荐阅读