Как получить текущий файл страницы просмотра вызывающего абонента в методе расширения помощника HTML? - PullRequest
0 голосов
/ 22 января 2011

Я создаю расширение для HTML-помощника, чтобы объединить скрипт в один файл, как показано в следующем коде.Он объединит файл jQuery и jQuery UI в файл common.js в указанном месте.Я использую ASP.NET кеширование с файловой зависимостью для мониторинга всех объединенных файлов.Если какой-либо файл был изменен, метод заново сгенерирует объединенный файл.

@(Html.CombinedFiles
(
    "~/Scripts/common.js",
    "~/Scripts/jquery-1.4.4.js",
    "~/Scripts/jquery-ui.js"
))

Все работает отлично.Однако у него есть только одна проблема.Когда разработчик изменяет вид страницы, которая вызывает эту функцию для добавления или удаления файла для объединения.Кэширование ASP.NET все еще действует.Метод не будет повторно генерировать объединенный файл, потому что я не добавляю страницу представления вызывающего абонента в список зависимостей файла.

Я хочу знать.Можно ли заставить страницу просмотра вызывать этот метод расширения?Он должен поддерживать как ASPX, так и Razor View Engine.

Спасибо,

PS. Документация об этой функции в моей платформе RIA Хиггса для лучшего понимания этого метода.

1 Ответ

4 голосов
/ 22 января 2011
IView view = htmlHelper.ViewContext.View;
if (view is BuildManagerCompiledView)
{
    string viewUrl = ((BuildManagerCompiledView)view).ViewPath;
    // use viewUrl here    
}
...