有什么方法可以从扩展方法中获取文件名(或视图名)。就像是 :
public static string Something<T>(this System.Web.Mvc.HtmlHelper<T> helper, int value)
{
string viewName = ...; // ???
...
return someValueFromViewName;
}
**编辑**
建议的问题的答案:
var webPage = htmlhelper.ViewDataContainer as WebPageBase;
var virtualPath = webPage.VirtualPath;
不起作用,也不是这个问题的答案。我需要在调用时呈现脚本。如果它是部分名称,我需要该部分名称。这两行只返回从控制器呈现的视图,而不一定是在调用时呈现的视图脚本。
**编辑 2 **
这些也不起作用。_ 它们都返回相同的值;控制器的视图脚本,而不是调用扩展方法的视图脚本(部分)。
var view = htmlhelper.ViewContext.View as BuildManagerCompiledView;
var virtualPath = webPage.ViewPath;