我们最近将一个项目升级到MVC 2,我们想使用区域但是存在问题。
我们创建了一个新区域,设置了控制器,配置了路径,并在正确的位置创建了一个视图。当我们运行代码时,它成功找到路径并命中控制器,但是当它去渲染视图时会出现异常。
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,但修复没有任何区别。)
我只能想象,当我们进行升级时我们错过了一些东西,或者我们遇到了一些不寻常的边缘情况,因为网上似乎没有任何与我们遇到的问题相符的内容。
我们可以看到什么可以帮助我们解决这个问题?
提前感谢您提供的任何帮助。 干杯, 扎克
答案 0 :(得分:2)
我们可以看到什么可以帮助我们解决这个问题?
AreaRegistration.RegisterAllAreas();
。区域路线也需要注册。ActionLink
和其他相关网址助手时的参数之一