我的模型
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>
我需要将插入的数据从表单发布到控制器,但不起作用... 我该怎么办?
我读到有关绑定到模型数组的信息,而我在上面做了。
答案 0 :(得分:0)
您可以使用Ajax,我们需要将您的Form从pOst更改为允许JQuery执行此操作 使用$('#Form')。Serialize()来获取所有数据,它应该转换为Person的C#列表 如果不起作用,请尝试手动创建对象并将其发布
$.ajax({
url: URL + 'Person/Save',
type: 'POST',
data: $('#Form').Serialize()
success: function (data) {
},
error: function (e, data) {
}
});