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