用于查找视图名称的 HtmlHelper 扩展

本文关键字:HtmlHelper 扩展 查找 视图 用于 | 更新日期: 2023-09-27 18:37:05

我正在尝试创建一个HtmlExtension来检索当前视图的名称。

但是,我不想拥有请求的视图(例如"/帐户/登录"的"登录"),而是正在处理的实际文件(例如 "_Layout" )。

例如,我能找到的最接近的是返回{ASP._Page_Views_Shared__Layout_cshtml} html.ViewDataContainer.ToString(),但我认为解析这不是一个好主意。

此信息在 Html 扩展中是否可用?

提前谢谢。

用于查找视图名称的 HtmlHelper 扩展

你可以创建一个这样的扩展,

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)