在asp.net mvc应用程序中,我正在尝试重定向到新路由 Application_AuthenticateRequest。如果用户未经过身份验证,那么我将重定向到不同的URL。以下是代码,
protected void Application_AuthenticateRequest(object sender, EventArgs e)
{
var urlHelper = new UrlHelper(HttpContext.Current.Request.RequestContext);
var loginUrl = urlHelper.Action("Login", "Default");
Response.Redirect(loginUrl);
}
在上面的代码中,即使在Application_Start事件发生路由注册后,urlHelper.Action方法也会返回空字符串。
有什么想法来解决这个错误吗?
以下是Application_Start中的RouteConfiguration,
RouteTable.Routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { id = UrlParameter.Optional });