在RedirectToAction中丢失路由数据

时间:2012-07-09 15:12:40

标签: asp.net-mvc asp.net-mvc-routing redirecttoaction data-loss

嗨我有一个奇怪的问题,我们走了:

我正在使用此命令重定向:

return RedirectToAction("ViewMessage", "Account", new {id = model.MessageId});

但在ViewMessage操作中,当我尝试获取id时,它为null?!?!?!?!??

string strMessageId = RouteData.Values["id"] as string;

我在很多地方完成了这个代码并且工作正常,但我不知道这里发生了什么...... :(

我知道我可以使用TempData,但我不想:)

3 个答案:

答案 0 :(得分:0)

尝试使用查看上下文

访问路由值
ViewContext.RequestContext.RouteData.Values("id")

答案 1 :(得分:0)

实际上你的方式仍然为我工作 试试这个


return RedirectToAction("ViewMessage",new RouteValueDictionary(new {controller="Account",action="ViewMessage", id = model.MessageId }));

答案 2 :(得分:0)

检查您的路由配置。如果您的操作参数名称为“id”,则您的路由网址模式应为{controller} / {action} / {id}。