System.ArgumentNullException:值不能为null。参数名称:url

时间:2015-03-03 08:37:23

标签: asp.net-mvc url-routing global-asax urlhelper

在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 });

0 个答案:

没有答案