ASP.NET MVC RedirectToAction默认操作

时间:2016-07-03 19:21:50

标签: c# asp.net asp.net-mvc asp.net-mvc-4 url-routing

如何在不定义操作的情况下重定向到Controller? (默认为路由配置中定义的默认操作)

示例 return RedirectToAction("Index", "Error" new { messageId = errorMessageId} );

向用户显示的网址为:http:mydomain/Error/Index/1001

优选 return RedirectToAction(null, "Error" new { messageId = errorMessageId} );

我想向用户显示的网址是:http:mydomain/Error/1001

当我手动输入URL时,它工作正常,所以我知道我的路线正常工作。

我无法弄清楚如何在MVC中使用Redirectxxxx来实现它。

2 个答案:

答案 0 :(得分:1)

您可以使用RedirectToRoute

return RedirectToRoute(new { controller = "Error", messageId = errorMessageId });

或者,Redirect加上Url.RouteUrl

return Redirect(Url.RouteUrl(new { controller = "Error", messageId = errorMessageId }));

答案 1 :(得分:0)

  protected internal RedirectToAction(
    string actionName,
    string controllerName,
    object routeValues
)

以下是 RedirectToAction 方法,您可以在此处定义自己的路线,而无需使用操作名称。

有关路由的详细信息,请检查以下内容: Routing