Переместите базовые классы для MasterPage из MVC2 в MVC3 - PullRequest
0 голосов
/ 03 апреля 2011

Я работаю над переносом приложения из MVC2 ASPX в MVC3 Razor и довольно застрял в переносе базового класса для большего количества мастер-страниц в старом приложении MVC2.

Базовый класс используется для автоматического включения css и js встраниц для упрощения быстрого исправления ошибок и отладки при разработке приложения в локальной среде, но при запуске приложения в производственной среде оно должно обновлять и включать в себя отдельные свернутые файлы css и js, доставленные из внешнего CDN.

Код должензнать о файле просмотра, например."~ / views / home / index.chtml" и / или файл макета, например."~ / Views / DefaultNoLogon.Master" для правильного включения и обработки файлов css и js.

Я попытался реализовать собственный базовый класс, используя pageBaseType в части Razor файла web.config, но похоже, что это таквыполняется как для файла View, так и для файла Layout, и я не смог найти точку выполнения, в которой присутствует информация о файле View и Layout.Я также попытался реализовать файловую логику с помощью HtmlHelper, но я могу получить доступ только к информации о файле View и пропустить информацию для файла Layout для View.

Я не хочу, чтобы этот вид кода был реализован вRoute, Controller или ViewModel, поскольку они должны быть связаны непосредственно с генерацией Views.

Есть идеи, как получить информацию о файлах View и Layout в приложении MVC3 Razor?

1 Ответ

0 голосов
/ 17 апреля 2011

Ну, не берите в голову мой вопрос.

Я переработал свою логику для автоматического рендеринга файлов js и css, которая на самом деле более проста и работает лучше. Мое приложение Mvc3 Razor теперь способно принимать все js и css файлы для просмотра (включая css и js для всех страниц компоновки) и отображать их в отдельные минимизированные файлы.

Работает как шарм, и я полагаю, что это более надежно, чем мое старое решение, если только Гатри не внесет фундаментальные изменения в макеты страниц и HTML-помощники в Mvc4 или новее.

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