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

时间:2017-10-19 13:48:16

标签: c# view

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

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

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

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

首先这个代码站在de index.cshtml文件中,然后pageName将是"索引"。

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

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

1 个答案:

答案 0 :(得分:0)

经过越来越长的搜索,然后在这个问题之前我找到了一些东西:

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

有关此内容的更多信息:

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