2012-11-02 121 views
2

我第一次遇到MVC。 我有地区“管理”和控制器在那里“新闻”与行动“列表”。ASP.NET MVC3区域动作视图位置

在调试我得到了断点

public ActionResult List() 
{ 
    return View(); // Breakpoint 
} 

和我到达那里

但引擎找不到视图 “列表”

我得到错误:

The view 'List' or its master was not found or no view engine supports the searched locations. The following locations were searched: 
~/Views/News/List.cshtml 
~/Views/News/List.vbhtml 
~/Views/Shared/List.cshtml 
~/Views/Shared/List.vbhtml 

查看退出in location Areas/Administation/News/List.cshtml

为什么Razor不会将区域名粘贴到视图视图位置?

UPDATE:

我找到了解决办法: ASP.NET MVC Default routes accessible via area routes

Route route = Routes.MapRoute(name, url, defaults, constraints, namespaces); 
route.DataTokens["area"] = AreaName; 

回答

0

ASP.NET MVC期望你有相应的动作匹配的观点,当你调用控制器中的View()方法。所以基本上它告诉你,你必须在项目的Views/SharedViews/News/文件夹中有一个名为List.cshtml(或List.vbhtml)的文件。 (你的控制器被称为NewsController按照惯例该视图搜索上的名称,您可以去http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/cs/intro-to-aspnet-mvc-3,看看它是如何工作。

领域是一个MVC功能来组织你的应用程序代码,但你可能缺少一些Read this欲了解更多信息,请联系

+0

我经常使用区域,但我怎么说这种行为对我来说是新的,我不知道问题出在哪里。 –