Asp.net mvc 为IEnumerable中的每个模型创建编辑表单<;模型>;ASP.NETMVC
我正在尝试为模型的Asp.net mvc 为IEnumerable中的每个模型创建编辑表单<;模型>;ASP.NETMVC,asp.net-mvc,asp.net-core-mvc,Asp.net Mvc,Asp.net Core Mvc,我正在尝试为模型的IEnumerable中的每个模型创建一个编辑表单。基本上,我的Index.cshtml页面有一个数据库表中每个对象的表,我想为每个模型添加一个编辑表单。然而,无论出于何种原因,每当我发布一个单独的表单时,数据都会作为NULL传递 以下是我所拥有的: 型号: public partial class Person { public int id { get; set; } public string name { get; set; } } 控制器: publ
IEnumerable
中的每个模型创建一个编辑表单。基本上,我的Index.cshtml页面有一个数据库表中每个对象的表,我想为每个模型添加一个编辑表单。然而,无论出于何种原因,每当我发布一个单独的表单时,数据都会作为NULL传递
以下是我所拥有的:
型号:
public partial class Person
{
public int id { get; set; }
public string name { get; set; }
}
控制器:
public async Task<IActionResult> Index()
{
return View(await _context.ASNGFellows.ToListAsync());
}
public async Task<IActionResult> Edit(Person person)
{
if (ModelState.IsValid)
{
#update database object
}
return View(Person)
}
[HttpPost]
public async Task<IActionResult> Edit(Person person)
{
if (ModelState.IsValid)
{
}
return View(person);
}
公共异步任务索引()
{
返回视图(wait_context.ASNGFellows.ToListAsync());
}
公共异步任务编辑(个人)
{
if(ModelState.IsValid)
{
#更新数据库对象
}
返回视图(个人)
}
视图(Index.cshtml):
@model IEnumerable
@DisplayNameFor(model=>model.name)
行动
@foreach(模型中的var项目)
{
@DisplayFor(modelItem=>item.name)
@Html.AntiForgeryToken()
@Html.HiddenFor(modeleItem=>item.id)
@Html.ValidationSummary(“,new{@class=“text danger”})
@LabelFor(modeleItem=>item.name)
@EditorFor(modeleItem=>item.name)
@Html.ValidationMessageFor(modelItem=>item.name)
}
表单正确生成,当我提交时,它会点击controller方法,但是
person
对象有空值。我在这里做错了什么?您可以像下面这样更改您的表单
<form method="post" asp-action="Edit">
@Html.AntiForgeryToken()
<input type="hidden" name="person.id" value="@item.id"/>
@Html.ValidationSummary("", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(modelItem => item.name)
<input type="text" name="person.name" value="@item.name" />
@Html.ValidationMessageFor(modelItem => item.name)
</div>
<div class="form-group">
<input type="submit" value="Save" class="btn btn-primary" />
</div>
</form>
@Html.AntiForgeryToken()
@Html.ValidationSummary(“,new{@class=“text danger”})
@LabelFor(modeleItem=>item.name)
@Html.ValidationMessageFor(modelItem=>item.name)
控制器:
public async Task<IActionResult> Index()
{
return View(await _context.ASNGFellows.ToListAsync());
}
public async Task<IActionResult> Edit(Person person)
{
if (ModelState.IsValid)
{
#update database object
}
return View(Person)
}
[HttpPost]
public async Task<IActionResult> Edit(Person person)
{
if (ModelState.IsValid)
{
}
return View(person);
}
[HttpPost]
公共异步任务编辑(个人)
{
if(ModelState.IsValid)
{
}
返回视图(人);
}