有没有办法将整个对象从 ASP.NET MVC 5 视图传递到控制器?这是我的情况:
- 我有一个显示数据库表中所有行的视图
- 视图的模型是 IEnumerable
- 每行数据后面都有一个链接,可通往支架式 UPDATE 视图
有没有办法将整个对象传递给 Update 控制器方法,以便它最初用旧数据填充表单输入?就像是:
@Html.Action("Update me!", "Update", new { objectFromModelList })
然后在控制器中
public ActionResult Update(MyType parameter)
{
return View(parameter);
}
或类似的东西。请帮忙,我对此很陌生,在任何地方都找不到答案。
你的物体可以这么大!查询字符串对可以通过基于浏览器的查询字符串传递的数据量有限制。您应该考虑传递(记录的)唯一 id 值,并使用它在操作方法中从数据库获取整个记录并将其传递给视图。
@foreach(var item in SomeCollection)
{
<tr>
<td> @Html.Action("Update me!", "Update", new { id = item.Id }) </td>
</tr>
}
并在操作方法中
public ActionResult Update(int id)
{
var item = GetItemFromId(id);
return View(item);
}
假设GetItemFromId
方法从唯一的 id 值返回方法/视图模型。基本上,您可以使用数据库表/存储库中的这个唯一 ID 获取整个记录。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)