如何获取布局中当前视图的页面名称



我使用了几个具有完全相同信息的不同页面。所以我把它全部放在一个布局页面中,这样我就没有双重代码了。

我在 de 布局中有一个选项来更改语言。更改语言时,请求将与语言"en-US"和当前页面名称"Index"一起发送到控制器方法。此方法将执行RedirectResult(page)以便应用语言更改。

我曾经并且正在使用它来获取当前文件的名称(页面名称):

@{ string pageName = Path.GetFileNameWithoutExtension(Server.MapPath(VirtualPath)); }

首先,这段代码位于de Index.cshtml文件中,然后pageName将是"Index"。

现在pageName是"_layout"。这给了我一个错误,因为该方法显然不存在。

问:如何从_layout文件中获取当前页面的名称?

经过越来越长的搜索,在这个问题之前,我发现了一些东西:

string pageName = Path.GetFileNameWithoutExtension(Request.CurrentExecutionFilePath);

有关此内容的更多信息:

https://forums.asp.net/t/318949.aspx?How+to+get+current+page+file+name+

最新更新