【发布时间】:2014-04-10 11:06:53
【问题描述】:
问题陈述:
我正在尝试路由到区域(测试区域)下的登录视图不起作用。
例外:
HTTP 错误 403.14 - 禁止 Web 服务器配置为不列出此目录的内容
最可能的原因: 请求的 URL 没有配置默认文档,服务器上没有启用目录浏览。
如果我路由到区域下的登录视图以外的视图,它可以正常工作
我在路由中做错了什么??
地区:
测试区Registartion.cs
public class TestAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "Test";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Test_default",
"Test/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
}
App_Start 中的路由配置:
如果我使用默认路由登录它工作正常,但如果我在测试区域下提供登录视图的路由,它会给出 HTTP 错误 403.14 - 禁止 Web 服务器配置为不列出该目录的内容,为什么? ?
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
// Default Route for Login
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Login", action = "Index", id = UrlParameter.Optional }
);
//Area View Route for Login
routes.MapRoute(
name: "Test",
url: "Test/{controller}/{action}/{id}",
defaults: new { controller = "Login", action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "WebApplication1.Areas.Test.Controllers" }
);
}
}
Global.asax.cs:
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
Database.SetInitializer<WebApplication1.Areas.Test.Models.Test_DB>(null);
}
【问题讨论】:
标签: c# asp.net-mvc razor asp.net-mvc-routing