【发布时间】:2010-09-29 17:27:26
【问题描述】:
我们最近将一个项目升级到 MVC 2,我们想使用 Areas,但出现了一个问题。
我们创建了一个新区域,设置了一个控制器,配置了一条路线,并在正确的位置创建了一个视图。当我们运行代码时,它成功地找到了路由并点击了控制器,但是当它渲染视图时出现了异常。
Web 表单视图引擎似乎没有在“区域”部分中查找视图。我们看到的错误是:
~/Views/<ControllerName>/<ViewName>.aspx
~/Views/<ControllerName>/<ViewName>.ascx
~/Views/Shared/<ViewName>.aspx
~/Views/Shared/<ViewName>.ascx
什么时候应该:
~/<AreaName>/Views/<ControllerName>/<ViewName>.aspx
~/<AreaName>/Views/<ControllerName>/<ViewName>.ascx
~/<AreaName>/Views/Shared/<ViewName>.aspx
~/<AreaName>/Views/Shared/<ViewName>.ascx
~/Views/<ControllerName>/<ViewName>.aspx
~/Views/<ControllerName>/<ViewName>.ascx
~/Views/Shared/<ViewName>.aspx
~/Views/Shared/<ViewName>.ascx
这表明它仍在以某种方式使用 MVC 1 dll,但我们已经仔细查看并且只能找到对 MVC V2 的引用(在 xVal 中有一个 V1 引用,第三方DLL,但修复它并没有什么不同)。
我只能想象我们在升级时遗漏了一些东西,或者我们遇到了一些不寻常的边缘情况,因为网络上似乎没有任何东西与我们遇到的问题相匹配。
我们可以看看哪些东西可以帮助我们解决这个问题?
提前感谢您提供的任何帮助。 干杯, 扎克
【问题讨论】:
-
我同意你的观点,它表明你以某种方式指向 MVC 1。你做了什么来验证你指向 MVC 2?
-
@steve,“ViewlocationsFormats”也被定义为 OP 在 MVC 2 中描述的内容。 @Zac - 你注册了你的区域路线吗?
-
@Zac - 你确定“应该”的位置列表吗?
-
@Steve - 我们在文本编辑器中打开了所有项目文件并检查了 System.Web.Mvc 引用 - 所有这些文件都适用于 2.0.0.0
-
@Ahmad - 是的,我们已经注册了区域路由 - 正在调用控制器操作,因此路由没有问题。该问题似乎与视图引擎组件有关。至于“应该”列表,我不是 100% 确定应该是这样,但已经接近了。干杯
标签: asp.net-mvc asp.net-mvc-2 views asp.net-mvc-areas