我将ASP.NET MVC3解决方案迁移到MVC4。一切顺利,直到我'注入'主题部分。我检查了我的解决方案的旧(MVC3)/新(MVC4)版本,一切似乎都没问题,但我得到了以下错误:
以下是“默认”主题的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();
}
}
我很确定这是一个愚蠢的问题,但我无法伪造它!
感谢您的帮助。
答案 0 :(得分:0)
尝试将`1添加到pageBaseType属性值
<pages pageBaseType="MyBlog.Core.ApplicationViewPage`1">