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 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>
我需要将插入的数据从表单发布到控制器,但不工作......我该怎么做?
我读到了关于绑定到模型数组的内容,我在上面做了这个。
解决方案
您可以使用 Ajax,我们需要将您的表单从 pOst 更改为允许 JQuery 执行此操作,使用 $('#Form').Serialize() 来获取您的所有数据,如果没有,它应该转换为 C# 人员列表工作尝试手动创建对象并发布它
$.ajax({
url: URL + 'Person/Save',
type: 'POST',
data: $('#Form').Serialize()
success: function (data) {
},
error: function (e, data) {
}
});
推荐阅读
- java - 如何使用 Selenium 将 AGGrid 数据导出到 excel
- laravel-8 - 错误:Symfony/...:无法声明类 Illuminate\Contracts\Validation\Validator,因为该名称已在文件中使用
- python - 如何使用枕头保存具有特定尺寸的 .ico 图像?
- javascript - 将对象格式化为所有对象数组
- python - 如何使用管理器指定的对象而不是基于类或函数视图中的默认对象?
- php - 加载页面时出现“borderbutton”错误消息,如何在 PHP echo 中使用 html/css?
- excel - 发送到保存在单元格中的电子邮件地址
- rust - 如何解析 itm.txt 文件?
- flutter - 将双精度值转换为列表
在飞镖 - kotlin - 从 CBOR ByteArray 中检索数据