使用视图将MVC 2升级到MVC 3问题

Phi*_*ong 4 views asp.net-mvc-3 asp.net-mvc-2

我正在尝试将我现有的ASP.net MVC 2 Web应用程序升级到MVC 3,因此我可以使用Razor Viewengine和其他所述改进的优点.

使用转换器将我的应用程序从mvc2转换为mvc3后,我的强类型视图出现问题.作为一个例子,我们有一个视图用户控件,它强烈地类型化为类Profile

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Profile>" %>
Run Code Online (Sandbox Code Playgroud)

在编译期间我得到了

Compiler Error Message: CS1061: 'object' does not contain a definition for 'folio' and no extension method 'folio' accepting a first argument of type 'object' could be found (are you missing a using directive or an assembly reference?)
Run Code Online (Sandbox Code Playgroud)

在我看来,这对应于这一行 替代文字

所以就像视图不再接受某种类型一样.这种情况发生在用户控件上以及视图上.

我检查了web.config和views/web.config,两者似乎都引用了System.Web.Mvc 3.0.0.0版

任何帮助,将不胜感激!

有关web.configs的屏幕截图,请参见下文

替代文字

替代文字

替代文字

Bra*_*son 7

这是MVC 3 Preview 1中的一个错误,将在下一个版本中解决.在此期间,您可以重新排列页面,以便<%@ Control%>指令是文件中的最后一个指令,这应该是您的问题.


小智 5

我只是替换了我的'Views'文件夹中的web.config(其中一个来自一个新创建的mvc3项目),正如迁移建议的那样,它对我有用.由于我的项目太大,我不准备将所有声明移到底部.

希望它有所帮助,虽然这对你来说可能为时已晚.也许它有助于其他人......