В настоящее время я создаю многопользовательское веб-приложение с использованием MVC 3. По крайней мере 30 различных веб-сайтов будут иметь общую кодовую базу, и, хотя они также имеют аналогичные встроенные функции, они должны выглядеть значительно по-разному.,Вследствие этого я использую URL-адрес для внутреннего разделения клиентов и переопределенный механизм представления Razor (по крайней мере, с точки зрения поиска представления) для автоматического выбора либо настраиваемого представления для данного действия, либо представления по умолчанию.
Чтобы помочь «разделить» сложную страницу, любое конкретное представление будет использовать несколько частичных элементов, обычно представляемых как автономные действия, так что обычно пользовательское представление или частичное представление будет иметь только небольшие различия HTML, помогая минимизироватьлюбой код, специфичный для сайта клиента.
Надеюсь, вы следили за этим фоном!
Таким образом, одна HTML-страница может состоять из множества небольших фрагментов частичных представлений HTML, которые могут быть получены из конкретныхпапки для клиента или универсальная версия.Я надеюсь, что нашему дизайнеру будет легче внести незначительные изменения в страницу, легко увидев , где в структуре папок, бит HTML, который он хочет изменить.
Мое предложението, что каждый частичный будет заключен в скобки с комментариями HTML, такими как:
{Содержимое частичного}
Очевидно, что я мог бы вставить их вручную, но это просто напрашивается на проблемы, для опечаток, для скопированных и затем измененных версий клиента, которые не обновляются с правильным URL.Я думаю, должно быть возможно извлечь это из некоторого контекста и внедрить его.
В то же время мне нужно иметь возможность не делать этого для определенных действий.Например, частичная может генерировать текст внутри, скажем, текстовой области, поэтому комментарии там не будут подходящими.В целом, я рад поместить эти комментарии в , если только я не укажу, что это не подходит.
Для меня это предполагает ActionFilter для Action, который я могу применить ко всему сайту, а затемотключить для определенных действий.Я надеюсь, что одно из переопределяемых событий позволило бы мне определить этот путь, но я не могу найти, где он хранится.Кроме того, OnResultExecuting, похоже, срабатывает до того, как будет выбран Partial, а OnResultExecuted, похоже, уже выписал содержимое Partial, поэтому я не могу вставить начальный комментарий здесь.Я также не могу найти ссылку на путь к выбранному фрагменту.
Просто для полноты, я намерен, чтобы этот атрибут записывал эти комментарии только при компиляции в режиме отладки.
ИтакКто-нибудь знает, как я мог бы получить путь к выбранному представлению без какого-либо взлома между FindPartialView и атрибутом?Является ли мой метод атрибутов лучшим выбором или есть более простой способ сделать это?Возможно, что-то уже встроено!
Большое спасибо за вашу помощь.