如何在不定义操作的情况下重定向到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来实现它。
答案 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