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