Ошибка переноса веб-форм на Razor MVC - PullRequest
0 голосов
/ 13 августа 2011
The view 'Art' or its master was not found. The following locations were searched

~/Views/Home/Art.aspx
~/Views/Home/Art.ascx
~/Views/Shared/Art.aspx
~/Views/Shared/Art.ascx

Я создал вид, используя Razor View Engine. Итак, представление существует в папке Views в папке Home с именем Art.vbhtml

Скажите, пожалуйста, как сообщить веб-приложению, что оно должно отображать представления, используя Razor View Engine

UPDATE:

Проблема с использованием Razor после миграции MVC 2.0 на MVC 3.0 RC помогла мне, но теперь она выдает эту ошибку ...

Type 'RazorViewEngine' is not defined

хотя intellisense в визуальной студии показывает его и выделяет как имя класса.

ОБНОВЛЕНИЕ II:

Ответ Натана Рэтклиффа помог в устранении ошибки, но теперь выдает новую ошибку, детали которой как под ...

The view at '~/Views/Home/Art.vbhtml' must derive from WebViewPage, or WebViewPage<TModel>.

Натан, ты тоже можешь мне помочь?

ОТВЕТ РЕЗЮМЕ Для тех, кто прибывает позже на этом этапе, предоставленного ответа достаточно, чтобы прояснить мою ситуацию, но я хотел бы прояснить несколько вещей относительно ответа.

Мне пришлось выполнить следующие шаги, чтобы Razor Engine работал в моем приложении (кроме ответа):

  • Добавлен файл web.config в папке Views проекта (добавлены фрагменты кода, приведенные в ответе ниже в файле web.config).
  • В моем проекте добавлена ​​ссылка на файл System.WebPages.dll.

1 Ответ

1 голос
/ 14 августа 2011

Убедитесь, что у вас есть это в разделе компиляции вашего web.config

<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

и удалите старый.

Кроме того, www.asp.net рекомендации по обновлению с 2.0-> 3,0

http://www.asp.net/learn/whitepapers/mvc3-release-notes#upgrading

Редактировать:

В папке с вашими представлениями есть файл web.config (а не тот, который находится в корне вашего проекта).

Имеются ли в ней разделы конфигурации бритвы?

    <configSections>
      <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
        <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
        <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.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=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      <pages pageBaseType="System.Web.Mvc.WebViewPage">
        <namespaces>
          <add namespace="System.Web.Mvc" />
          <add namespace="System.Web.Mvc.Ajax" />
          <add namespace="System.Web.Mvc.Html" />
          <add namespace="System.Web.Routing" />
        </namespaces>
      </pages>
    </system.web.webPages.razor>    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...