2011-12-10 71 views
0

我陷入了簡單的問題,我不知道如何解決這個問題。無法訪問MVC中的區域內視圖3

未找到視圖類別或其主人或者沒有視圖引擎支持搜索的位置。以下位置是 搜尋:
〜/查看/我的購物/ Category.aspx
〜/查看/我的購物/ Category.ascx
〜/查看/共享/ Category.aspx
〜/查看/共享/類別。 ASCX
〜/查看/我的購物/ Category.cshtml
〜/查看/我的購物/ Category.vbhtml
〜/查看/共享/ Category.cshtml
〜/查看/共享/ Category.vbhtml

我有一個叫做ShoppingCartArea的區域,我在裏面有view(Category.cshtml)和控制器。但我不知道它是如何引用到主視圖文件夾。

的Global.asax

public static void RegisterRoutes(RouteCollection routes) 
{ 
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

     routes.MapRoute(
      "Default", // Route name 
      "{controller}/{action}/{id}", // URL with parameters 
      new { controller = "ShoppingCart", action = "Category", id = UrlParameter.Optional }, // Parameter defaults 
     ); 

    } 

    protected void Application_Start()       
    { 
     AreaRegistration.RegisterAllAreas(); 
     RegisterGlobalFilters(GlobalFilters.Filters); 
     RegisterRoutes(RouteTable.Routes); 
    } 

和我區registration.cs

public override void RegisterArea(AreaRegistrationContext context) 
{ 
    context.MapRoute(
     "ShoppingCartArea_default", 
     "ShoppingCartArea/{controller}/{action}/{id}", 
     new { controller = "ShoppingCart", action = "Category", id = UrlParameter.Optional }, 
       new[] { ShoppingCartAppMVC.Areas.ShoppingCartArea.Controllers} 
    ); 
} 

還是讓我知道,如果我做錯事

回答

1

也許,你遇到了這一點,因爲您已將領域手動。最近我一直在重新構建舊的WebForms應用程序,並慢慢將其轉換爲MVC。我沒有將MVC類型添加到項目中,只是添加了需要的文件夾等。不幸的是,我面臨着和你一樣的問題。

答案是添加正確的項目類型(see this answer)並添加項目的 上下文菜單中的區域。之後,我已經把所有東西都搬到了一個新創建的區域 - 並且工作。

所以答案是,MVC不僅創建所有的文件夾,而且還更新其路線。