拡張メソッドからレンダリングされているファイル名 (またはビュー名) を取得する方法はありますか? 何かのようなもの :
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 行は、コントローラーからレンダリングされるビューのみを返し、呼び出し時にレンダリングされるビュー スクリプトを返すとは限りません。
**編集 2 **
これらも機能しません。それらはすべて同じ値を返します。拡張メソッドを呼び出すビュー スクリプト (部分) ではなく、コントローラーのビュー スクリプト。
var view = htmlhelper.ViewContext.View as BuildManagerCompiledView;
var virtualPath = webPage.ViewPath;