Каковы шаги для преобразования механизма представления для проекта MVC из .ASPX в Razor? - PullRequest
1 голос
/ 29 марта 2012

Я унаследовал проект MVC3 с большим количеством представлений ASPX, которые я хотел бы преобразовать в Razor. Этот вопрос => Конвертер синтаксиса Aspx в Razor? похож на мой, и он помог мне найти кучу вариантов для преобразования самих представлений, но мне неясно, какие шаги мне нужно предпринять в дополнение для преобразования взглядов.

Первое известное ограничение Бритвенный конвертер Telerik - «Инструмент работает только с представлениями и не имеет отношения к структуре проекта и главным страницам». Этот инструмент утверждает, что он также может конвертировать главные страницы, но, похоже, никто, кроме разработчика, никогда его не использовал.

Я думаю, что мне нужно предпринять следующие шаги:

  1. Используйте утилиту для преобразования представлений
  2. Преобразование главных страниц вручную (как мне это сделать?)
  3. Изменить структуру проекта (что нужно изменить?)
  4. Удалить файлы ASPX
  5. Протестируйте приложение (какие-нибудь конкретные ошибки, на которые мне следует обратить внимание?)

Это правильные шаги? Можете ли вы помочь мне с моими вопросами о шагах 2 и 3?

1 Ответ

3 голосов
/ 29 марта 2012

Я пробовал это только на одном решении, и фактическое преобразование сделало довольно хорошую работу.Я скачал проект конвертера Telerik, скомпилировал его, а затем преобразовал свои проекты, используя следующие командные строки:

aspx2razor C:\Development\MyProject\MyWebProject\*.ascx C:\Development\MyProject\MyWebProject -r
aspx2razor C:\Development\MyProject\MyWebProject\*.aspx C:\Development\MyProject\MyWebProject -r
aspx2razor C:\Development\MyProject\MyWebProject\*.master C:\Development\MyProject\MyWebProject -r

Мне нужно было только вернуться, чтобы добавить @include для пространства имен здесь и там, идобавьте несколько скобок, чтобы заставить механизм представления Razor правильно распознавать мой встроенный код.Это было также довольно простое решение, так что YMMV.Но даже если он успешно преобразует 80-90% ваших просмотров, это гораздо меньше ручной работы, которую вам придется выполнять самостоятельно.Отсюда вы также можете создать файл _ViewStart.cshtml и внести несколько незначительных изменений, чтобы воспользоваться преимуществами макета, специфичного для Razor.(Посмотрите на сообщение Скотта Гу: http://weblogs.asp.net/scottgu/archive/2010/10/22/asp-net-mvc-3-layouts.aspx)

Большая проблема, с которой я столкнулся при попытке согласовать изменения файла с управлением исходным кодом. Так как классический движок представления MVC использует .aspx, .ascx,и расширения .master, мне пришлось вручную добавить файлы .cshtml в мой веб-проект MVC и систему контроля версий, а затем удалить старые версии. Это было не сложно, просто много времени.

Кроме того,вам может потребоваться добавить все необходимые записи web.config для поддержки механизма представления Razor, а также, если ваш проект был создан с использованием MVC 1 или 2. Проекты, созданные с помощью MVC 3, должны уже иметь эти записи на месте, даже если это не былоизначально создан как сайт Razor.

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