Asp.net mvc 如何在HTML助手扩展方法中获取当前调用方视图页面文件?

Asp.net mvc 如何在HTML助手扩展方法中获取当前调用方视图页面文件?,asp.net-mvc,extension-methods,html-helper,Asp.net Mvc,Extension Methods,Html Helper,我创建了HTML助手扩展,将脚本合并到一个文件中,如下面的代码所示。它将在指定位置将jQuery和jQuery UI文件合并到common.js文件中。我使用具有文件依赖关系的ASP.NET缓存来监视所有组合文件。如果某个文件被更改,该方法将重新生成组合文件 @(Html.CombinedFiles ( "~/Scripts/common.js", "~/Scripts/jquery-1.4.4.js", "~/Scripts/jquery-ui.js" )) 一切都很

我创建了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缓存仍然有效。方法将不会重新生成组合文件,因为我不会将调用方视图页添加到文件依赖项列表中

我想知道。是否可以让view page调用此扩展方法?它必须同时支持ASPX和Razor视图引擎

谢谢,

关于这个函数,请在我的中学习,以便更好地理解这个方法

IView view = htmlHelper.ViewContext.View;
if (view is BuildManagerCompiledView)
{
    string viewUrl = ((BuildManagerCompiledView)view).ViewPath;
    // use viewUrl here    
}