我正在尝试创建HtmlExtension
来检索当前视图的名称。
但是,我不希望获得所请求的视图(例如“LogOn”表示“/ Account / LogOn”),而是要处理的实际文件(例如"_Layout"
)。
我能找到的最接近的是html.ViewDataContainer.ToString()
,例如返回{ASP._Page_Views_Shared__Layout_cshtml}
,但我认为解析这个不是一个好主意。
这些信息是否可在Html扩展程序中找到?
提前致谢。
答案 0 :(得分: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)