gpt4 book ai didi

asp.net-mvc - 如何将强类型 View 模型重定向并传递给另一个操作方法?

转载 作者:行者123 更新时间:2023-12-02 07:48:51 25 4
gpt4 key购买 nike

我有 2 个 Controller :AliceControllerBobController。每个都包含Index 操作方法。 View 模型很简单,如下所示:

class Foo{[Required]public int data{get;set;}}

如何将强类型对象从 Alice 传递给 Bob?

class AlliceController: Controller
{

[HttpPost]
public ActionResult Index(Foo foo)
{
if(ModelState.IsValid)
{
// I want to pass foo to Bob's Index. How to do it?
return RedirectToAction("Index","Bob");
}
else return View();
}
}

最佳答案

理论上,您可以使用RouteValueDictionary参数到RedirectToAction:

return RedirectToAction("Index", "Bob", new { param = value });

但是,您不能通过这种类型的重定向传递对象*,只能传递可以附加到 GET url 的原始类型(int、string 等)。

改用TempData

话虽如此,我不知道您要做什么。

一些担忧:

  • 为什么不只传递实际值,而不是整个 ViewModel?
  • 为什么要在 Controller 之间重定向? (这是可以做到的,只是在您的场景中看不到这样做的原因)。

关于asp.net-mvc - 如何将强类型 View 模型重定向并传递给另一个操作方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4885250/

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