Обновление MVC3 до MVC5 с ASPX / ASCX: проблемы с наследованием

1

Я пытаюсь обновить MVC3 до проекта MVC5. Я делаю это с нуля (т.е. Создаю новое решение, а затем копируя файл кода по файлу). Этот проект имеет представления ASPX/ASCX.

Моя проблема заключается в том, что строки Inherits в ASPX не допускают сильного ввода, т.е.

Inherits="System.Web.Mvc.ViewPage" в порядке, но

Inherits="System.Web.Mvc.ViewPage<CCOK.Models.ViewModels.VMHperdet>" не может разрешить символ "ViewModels"

Аналогично Inherits="System.Web.Mvc.ViewUserControl<string>" не может разрешить символ ViewUserControl

Я попытался создать пустой проект MVC в рамках решения, и произойдут те же самые вещи.

Web.Config в папке "Представления" в настоящее время выглядит так... (после копирования нескольких примеров решений проблемы). Однако validateRequest, pageParserFilterType и UserControlBaseType имеют предупреждения intellisense.

<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>

однако, я получаю те же проблемы с "запасом" web.config

Как я могу получить строго типизированные представления ASPX/ASCX, работающие сейчас?

Теги:
asp.net-mvc
asp.net-mvc-5
asp.net-mvc-3

1 ответ

1
Лучший ответ

После дня отсутствия очевидного я заметил, что я пытаюсь определить свой элемент страниц winforms внутри system.web.webPAges.razor. Ключ находится в слове бритва. Элемент выше страницы должен быть внутри system.web (а не web.webPages.razor), а затем все это работает.

  • 0
    Спасибо за этот совет. Это сработало для меня, наконец!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню