2014-04-10 62 views
0

問題陳述:無法路由到一個視圖下面積在MVC剃刀

我試圖路線下面積(試驗區)一登錄視圖不工作。

例外:

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服務r配置爲不列出這位導演的內容爲什麼?

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); 
    } 
+0

試試這個職位http://stackoverflow.com/questions/15323190/ HTTP的錯誤-403-14-禁止-IIS-錯誤換ASP淨MVC -4- application' –

回答

1

試試這個:

routes.MapRoute(
      name: "Test", 
      url: "{controller}/{action}/{id}", 
      defaults: new {controller = "Login", action = "Index", id = UrlParameter.Optional }, 
      namespaces: new[] { "WebApplication1.Areas.Test.Controllers" }).DataTokens["area"] = "Test";