在MVC中返回View时传递路由参数

时间:2012-12-17 14:15:11

标签: asp.net-mvc-3 view routes

我在Razor-MVC中有一个Web应用程序,事情就是这样:

我有一个与MVC {controller} / {action} / {id}中的每个动作相似的动作 现在......我有另一个动作,需要返回这个视图:return View("Xview")和模型视图。该模型查看它不是一个问题,但我看到的路线是return View("Xview")它的{controller} / {action}没有id ...我需要在我的路线中使用该ID。 我知道我可以制作return RedirecToAction("Xview", new { id = idX }),但我需要使用return View(...)

编辑:

主要问题因为我需要返回视图是因为此操作中的ModelView填充了时态数据...并且在Xview操作中,此ModelView从数据库调用,如果我返回RedirectToAction则时间数据丢失,这就是为什么我返回View而不是保留我的ModelView。

我希望你能帮助我, 谢谢!

2 个答案:

答案 0 :(得分:0)

route参数用于请求不响应。除非您将用户重定向为响应的一部分,否则这将成为新请求。

如果您想返回View,请将您需要的任何信息作为模型的一部分或ViewBag传递。如果您想重新使用现有代码(例如其他操作),则需要使用RedirecToAction重定向

答案 1 :(得分:0)

基于对问题的编辑,我会说真正的问题是应用程序的状态。因此,不是在请求之间传递数据,而是使用Session对象来存储临时结果。