gpt4 book ai didi

c# - 将整个对象从 View 传递到 ASP.NET MVC 5 中的 Controller

转载 作者:行者123 更新时间:2023-11-30 14:07:38 25 4
gpt4 key购买 nike

有没有办法将整个对象从 ASP.NET MVC 5 View 传递到 Controller ?这是我的情况:

  • 我有一个显示数据库表中所有行的 View
  • View 的模型是 IEnumerable
  • 每一行在其数据之后都有一个链接,指向脚手架更新 View

有没有办法将整个对象传递给 Update Controller 方法,以便它最初会用旧数据填充表单输入?像这样的东西:

@Html.Action("Update me!", "Update", new { objectFromModelList })

然后在 Controller 中

public ActionResult Update(MyType parameter)
{
return View(parameter);
}

或者类似的东西。请帮助,我是新手,无法在任何地方找到答案。

最佳答案

您的对象可能会很大!查询字符串对您可以通过基于浏览器的那些传递的数据量有限制。您应该考虑传递一个唯一的 id 值(记录的)并使用它在您的操作方法中从 db 获取整个记录并将其传递给 View 。

@foreach(var item in SomeCollection)
{
<tr>
<td> @Html.Action("Update me!", "Update", new { id = item.Id }) </td>
</tr>
}

在 Action 方法中

public ActionResult Update(int id)
{
var item = GetItemFromId(id);
return View(item);
}

假设 GetItemFromId 方法从唯一的 id 值返回方法/ View 模型。基本上,您可以使用数据库表/存储库中的唯一 ID 获取整个记录。

关于c# - 将整个对象从 View 传递到 ASP.NET MVC 5 中的 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39212899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com