我有一个 Controller ,它收到了一个 POST 返回,并且已经处理了用户请求的内容。然后我构建了一个对象,现在,我想要 RedirectToAction..
return RedirectToAction() ("Index", "Location", r);
其中 r 是我正在使用的命名良好的对象。但在目标 Action 上,r 为空。
public ActionResult Index(LocationByAddressReply location)
现在,我在这里阅读了一些关于此的帖子,但我正在努力理解。
提出的一个选项是L
TempData["myObject"] = myObject;
但这似乎……很奇怪。类型不安全。这是传递对象最合适的方式吗?
最佳答案
您可以通过两种方式做到这一点:
第一个选项,如果你有一个简单的模型
return RedirectToAction("Index", "Location", new { Id = 5, LocationName = "some place nice" });
那个需要维护,考虑一下您以后是否需要向您的模型添加属性。所以你可以想象一下,这样做:
第二个选项,UrlHelper
是你的 friend
return Redirect(Url.Action("Index", "Location", model));
第二种选择确实是正确的做法。 model
是您构建并要传递给您的 LocationController
的对象。
关于c# - 在 RedirectToAction 中传递对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15825499/