2010-11-11 76 views
22

昨晚我升级到了Asp.net MVC 3 RC,并按照发行说明中的​​说明操作。但是,正常的Aspx页面不再有效。从Asp.net MVC 2升级到3 RC后,Aspx页面不会加载

例如,当我去根(主页/指数),会出现以下错误:

The view at '~/Views/Home/Index.aspx' must derive from ViewPage, ViewPage<TModel>, ViewUserControl, or ViewUserControl<TModel>. 

这是使用原来的MVC主页/索引视图的勉强修改版本。代码是:

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %> 

<asp:Content ID="indexTitle" ContentPlaceHolderID="TitleContent" runat="server"> 
    Home Page 
</asp:Content> 

<asp:Content ID="indexContent" ContentPlaceHolderID="MainContent" runat="server"> 
    <h2><%= Html.Encode(ViewData["Message"]) %></h2> 
    <p> 
     <%= Html.ActionLink("Project List", "List", "Project", new { area = "writing" }, null) %> 
    </p> 
</asp:Content> 

它设置为从ViewPage继承,所以我不知道是什么问题。

主页面未根据MVC安装的内容进行修改。

任何想法?

+0

我昨晚也升级了,没有问题。看看这个线程:http://forums.asp.net/p/1593209/4041505.aspx(也许这些解决方案之一将为你工作)。你可以在你的渲染视图中显示你的控制器代码吗? (除非它是默认的,那么不用担心) – RPM1984 2010-11-11 23:30:05

+0

这是默认的家庭控制器代码。我写的所有代码(视图中的链接除外)都驻留在我自己的区域中。我会检查出这个链接。 – KallDrexx 2010-11-11 23:53:53

+0

没有任何东西从那个链接工作:( – KallDrexx 2010-11-12 00:12:17

回答

28

确保你的web.config有

<assemblies> 
    <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
    <add assembly="WebMatrix.Data, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    </assemblies> 

<runtime> 
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <dependentAssembly> 
    <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> 
    <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" /> 
    </dependentAssembly> 
</assemblyBinding> 

,以及在任何地区/ Web.config中

更新并根据需要和你应该去更好的地方

+0

什么'''节点进入?(例如System.Web,控件等?) – KallDrexx 2010-11-12 21:55:19

+0

没什么意思,想通了! – KallDrexx 2010-11-12 21:56:58

+0

不知道什么是核心问题是,但我恢复了并重新尝试了我的更新,现在一切正常,我将它标记为答案,因为这些配置很有用! – KallDrexx 2010-11-12 22:10:26