Я обновляю проект 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, и мне не удалось найти несколько решений, с которыми я столкнулся при поиске. Тем не менее, я также обеспокоен тем, что у меня будут проблемы, потому что это обновление. Как и в случае с компьютерами, модернизация - это игровая площадка дьявола. Нужно ли мне просто создать новый проект и перенести в него мои файлы?