1

HtmlExtension現在のビューの名前を取得するためにを作成しようとしています。

ただし、要求されたビュー(たとえば、「/ Account / LogOn」の「LogOn」)ではなく、処理されている実際のファイル(たとえば"_Layout")が必要です。

私が見つけた最も近いものは、たとえば、html.ViewDataContainer.ToString()どちらが返さ{ASP._Page_Views_Shared__Layout_cshtml}れるかでしたが、これを解析することは素晴らしいアイデアではないと思います。

この情報はHtml拡張機能で利用できますか?

前もって感謝します。

4

1 に答える 1

2

このような拡張機能を作成できます。

public static string ViewName(this WebViewPage page)
{
  return Path.GetFileNameWithoutExtension(page.VirtualPath);
}

次に、かみそりのビューから、

The view name is: @this.ViewName()

または延長なしで、

The view name is: @Path.GetFileNameWithoutExtension(VirtualPath)
于 2012-06-12T13:00:45.727 に答える