2012-11-30 137 views
0

我已經讀過這麼多的線程在這裏,沒有任何解決方案似乎爲我工作。ASP.Net MVC 4區域和視圖配置

我遇到了麻煩,創建區域並查找相關視圖。我已經創建了一個全新的項目,除了缺省代碼外,還創建了一個名爲「Assignment」的區域。在分配區域內,我有一個名爲「AssignmentDetails」的控制器和相應的視圖文件夾。

當我嘗試和查看本地主機:1234/AssignmentDetails /我得到的錯誤:視圖「索引」或它的主人沒有被發現或沒有視圖引擎支持搜索到的位置

~/Views/AssignmentDetails/Index.aspx 
~/Views/AssignmentDetails/Index.ascx 
~/Views/Shared/Index.aspx 
~/Views/Shared/Index.ascx 
~/Views/AssignmentDetails/Index.cshtml 
~/Views/AssignmentDetails/Index.vbhtml 
~/Views/Shared/Index.cshtml 
~/Views/Shared/Index.vbhtml 

Globals.asax AreaRegistration.RegisterAllAreas()

WebApiConfig.Register(GlobalConfiguration.Configuration) 
    FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters) 
    RouteConfig.RegisterRoutes(RouteTable.Routes) 
    BundleConfig.RegisterBundles(BundleTable.Bundles) 
    AuthConfig.RegisterAuth() 

AssignmentAreaRegistration

 context.MapRoute(_ 
      "Assignment_default", _ 
      "Assignment/{controller}/{action}/{id}", _ 
      New With {.action = "Index", .id = UrlParameter.Optional} _ 
     ) 

回答

1

查看從區域分配控制器應在

~/Areas/Assignment/Views/ControllerName 
+0

謝謝。我的意見已經在那裏了。 – Tom

+1

然後請顯示控制器代碼,包括它所在的名稱空間。 – Igor

+0

看起來我缺少一個命名空間:/ 添加了這個技巧,謝謝 – Tom

0

如果你有一個叫做AssignmentAssignmentDetails內部的一個區域,你會發現在這個網址索引:

localhost:1234/Assignment/AssignmentDetails/Index 
+0

這根本找不到任何東西。如果我使用本地主機:1234/AssignmentDetails /我得到視圖未找到錯誤。 – Tom

+0

在AssignmentDetails控制器中是否有索引方法?如果你這樣做,在該方法內點擊鼠標右鍵並點擊添加視圖,然後點擊確定。這會將'.cshtml'視圖添加到正確的文件夾中。 – gideon

+0

他可能有索引操作方法,否則他會得到「資源未找到」錯誤。這是沒有找到的視圖文件。 – Igor