Обновленный проект MVC3, имеющий проблемы с Razor Views - PullRequest
0 голосов
/ 26 апреля 2011

Я обновляю проект MVC 2 до MVC 3. В настоящее время это небольшой проект, и у меня есть только один контроллер и несколько представлений.

Однако, когда я пытаюсь создать новое представление с помощью Razor, я столкнулся с рядом проблем:

1) Даже если указать строго типизированное представление, оно создает

@model IEnumerable<AcmeProject.SomeObject>

Я все еще получаю сообщение об ошибке проверки (традиционный XHTML 1.0): элемент 'AcmeProject.SomeObject' не поддерживается.

2) CS0103: имя 'ViewBag' не существует в текущем контексте

<head>
  <title>@ViewBag.Title</title>
</head>

Это ссылка на простое представление Layout

3) Изначально (больше не проблема) я получал ошибки о первой строке @model представления Razor, с которыми у меня возникли проблемы, и мне пришлось добавить следующее в файл view / 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>

Я не уверен, как решить # 1 и # 2, и мне не удалось найти несколько решений, с которыми я столкнулся при поиске. Тем не менее, я также обеспокоен тем, что у меня будут проблемы, потому что это обновление. Как и в случае с компьютерами, модернизация - это игровая площадка дьявола. Нужно ли мне просто создать новый проект и перенести в него мои файлы?

1 Ответ

2 голосов
/ 26 апреля 2011

Убедитесь, что вы выполнили шаги, описанные в примечаниях к выпуску , по обновлению проекта ASP.NET MVC 2 до ASP.NET MVC 3. Также имеется инструмент обновления ASP.NET MVC 3 Вы можете попробовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...