我正在为传统的ASP.NET网站项目添加MVC支持。我为Controllers
添加了一个单独的类库,而Views
位于旧版应用中。到目前为止效果很好,但我想利用Areas
。由于Areas
封装了Controllers
,Views
和Models
,如果我添加一个新的类项目来托管Areas
,那么它是否适用于Views
在这个项目中?
此外,Areas
需要一个web.config
文件,我假设我无法将web.config添加到类库区域项目中。
这甚至可能吗?
答案 0 :(得分:0)
我认为View文件不能放在MVC3项目之外(它必须知道在哪里找到文件)。
但是,您可以为Area路径指定一个命名空间,指定搜索控制器的位置(因此您的控制器可以保留在单独的项目中)。
context.MapRoute("routename",
"{controller}/{action}",
new { controller="Home",action="Index"},
null,
new[] {"ControllerProject.NamespaceTo.Controllers"}
);
答案 1 :(得分:0)
您需要确保在项目文件中引用正确的ProjectTypeGuids。
http://www.kevinrohrbaugh.com/blog/2009/7/17/demystifying-the-aspnet-mvc-project-type.html
请确保您也为MVC添加了正确的引用。完成所有配置后,可视化工作室应允许您右键单击项目并添加具有支持结构的区域。