使用ASPX / ASCX将MVC3升级到MVC5:继承问题

时间:2014-08-27 12:37:36

标签: c# asp.net asp.net-mvc asp.net-mvc-3 asp.net-mvc-5

我试图将MVC3升级到MVC5项目。我是从头开始做的(即文件新解决方案,然后按文件复制代码文件)。该项目具有ASPX / ASCX视图。

我的问题是ASPX中的Inherits行不允许强类型,即

Inherits="System.Web.Mvc.ViewPage" 没问题,但

Inherits="System.Web.Mvc.ViewPage<CCOK.Models.ViewModels.VMHperdet>" 无法解析符号&#34; ViewModels&#34;

同样 Inherits="System.Web.Mvc.ViewUserControl<string>" 无法解析符号ViewUserControl

我尝试在解决方案中创建一个空的MVC项目,同样的事情发生了。

Views文件夹中的Web.Config目前看起来像这样......(在一些示例解决方案中复制问题后)。但是,validateRequest,pageParserFilterType和UserControlBaseType都有智能感知警告。

<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
  <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
  <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.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=5.2.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

<pages validateRequest="false" pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=5.2.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=5.2.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
  <controls>
    <add assembly="System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
  </controls>

    <namespaces>
    <add namespace="System.Web.Mvc" />
    <add namespace="System.Web.Mvc.Ajax" />
    <add namespace="System.Web.Mvc.Html" />
    <add namespace="System.Web.Optimization"/>
    <add namespace="System.Web.Routing" />
    <add namespace="Kendo.Mvc.UI" />
    <add namespace="CCOK" />
    <add namespace="CCOK.Extensions" />
  </namespaces>
</pages>
</system.web.webPages.razor>

然而,我在&#34; stock&#34;中遇到了同样的问题。的web.config

如何获得强类型ASPX / ASCX视图?

1 个答案:

答案 0 :(得分:1)

在错过了一天的明显之后,我注意到我正在尝试在system.web.webPAges.razor中定义我的winforms页面元素。线索在razor这个词中。上面的pages元素需要在system.web(而不是web.webPages.razor)中,然后它才能成为魅力。