c# - 在 RedirectToAction 中传递对象

标签 c# asp.net-mvc-4

我有一个 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/

相关文章:

javascript - 无法在 dojo/request/iframe post 上读取未定义的属性 'value'

c# - 如何防止根据条件执行 Controller 操作?

c# - 如何使用 C# 和 OpenXML 在 PowerPoint 演示文稿中调整大小和图像

c# - Type Class(在 app_Code 中)存在于 "solution.dll"和 "app_code.wxdafd.dll"中

c# - 如何估计方法执行时间?

c# - 当内容具有 Conditional 属性时,C# 编译器是否优化 foreach block ?

c# - 如何将 Unicode 值转换为 ASCII 字符串?

.net - 将系统错误转换为友好的消息

jquery - 使用 MVC 4 和 Ajax 上传文件

c# - 无法加载文件或程序集 'System.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 或其依赖项之一