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 回答