从MVC3迁移到MVC4后,我的主题视图页面出错

时间:2012-02-05 19:22:20

标签: asp.net asp.net-mvc

我将ASP.NET MVC3解决方案迁移到MVC4。一切顺利,直到我'注入'主题部分。我检查了我的解决方案的旧(MVC3)/新(MVC4)版本,一切似乎都没问题,但我得到了以下错误:

enter image description here

enter image description here

以下是“默认”主题的Web.Config文件的摘录:

<?xml version="1.0"?>

<configuration>
  <configSections>
    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
      <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
    </sectionGroup>
  </configSections>

  <system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="MyBlog.Core.ApplicationViewPage">
      <namespaces>
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
        <add namespace="MyBlog" />
        <add namespace="MyBlog.Models" />
        <add namespace="MyBlog.Resources" />
        <add namespace="MyBlog.Helpers"/>
      </namespaces>
    </pages>
  </system.web.webPages.razor>
  ....

如您所见,pageBaseType为“MyBlog.Core.ApplicationViewPage”

这是ApplicationViewPage类:

public abstract class ApplicationViewPage<TModel> : WebViewPage<TModel>
{
    public SiteConfiguration SiteConfiguration { get; private set; }

    public override void InitHelpers()
    {
        SiteConfiguration = SiteManager.CurrentConfiguration;
        base.InitHelpers();
    }
}

我很确定这是一个愚蠢的问题,但我无法伪造它!

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

尝试将`1添加到pageBaseType属性值

<pages pageBaseType="MyBlog.Core.ApplicationViewPage`1">