gpt4 book ai didi

c# - 如何在 ASP.NET MVC 4 中的两个完全不同的 View 之间保留数据?

转载 作者:行者123 更新时间:2023-11-30 22:20:28 27 4
gpt4 key购买 nike

一段时间以来,我一直在尝试找出解决方案,但无济于事。我有的是一个表格。我将 ASP.NET MVC4 与 jQuery Mobile 一起使用。用户首先被定向到以下屏幕:

enter image description here

在这里,他们选择一个胶囊并点击提交。 他们选择的 capsule 有一个我想持久化到下一页的主键值。

一旦他们点击提交,他们将被带到:

enter image description here

在这里,他们将填写表格并单击“创建”。您在此屏幕截图中看到的填充物列表基于在上一个屏幕上选择的胶囊。因此,根据所选的胶囊,上面的填充物列表可能会有所不同。如何保留在上一个屏幕上选择的 Capsule 主键值并将其持久化到下一个屏幕(完全不同的 View )?我知道我不能使用 ViewBag,因为 ViewBag 仅在单个 View 的范围内。本质上,我要的是上面表格上的数据,以及上一个 View 中选择的胶囊的主键。

最佳答案

您需要将值从 View1 发回服务器,然后通过 Controller 操作方法将其传回 View2:以下是显示在服务器上发生的代码片段:

//Serve the view when the URL is requested
public ActionResult ViewAllItems()
{
return View();
}


//Handle the posted form from the ViewAllItems page
[HttpPost]
public ActionResult ViewAllItems(int selectedItemId)
{
RedirectToAction("ViewItemDetail", new { id = selectedItemId });
}

public ViewResult ViewItemDetail(int id)
{
var item = repo.GetItem(id);
return View(item);
}

这里,带有 Controller Action 方法 ViewAllItems 的方法接收发布的值并重定向到 ViewItemDetail 方法,然后该方法加载项目数据并将其传递给 View 。因此, View 将被传递 id(连同完整的项目)。

这是一般的 MVC 模式,其中值向上传递到 Controller 操作方法,然后再中继回 View 。

关于c# - 如何在 ASP.NET MVC 4 中的两个完全不同的 View 之间保留数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14993783/

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