获取根目录剃须刀页面

时间:2020-09-17 04:47:45

标签: c# asp.net-core razor-pages

我构建了html帮助器,以根据当前页面更改class属性。使用MVC时,可以使用此方法获取Controller和Action的值

string actualAction = (string) html.ViewContext.RouteData.Values["action"];
string actualController = (string) html.ViewContext.RouteData.Values["controller"];

使用razor pages,我可以使用此代码来获取剃须刀页面的端点

var rv = html.ViewContext.RouteData.Values;

string page = $"{rv["page"]}".ToLowerInvariant();

所以我将得到诸如/admin/dashboard/admin/configuration/add-user/admin/configuration/list-user等之类的值。

在端点上,我想知道第一个目录名称是什么。按照我的示例,admin是根目录。

是否存在.Net核心功能来处理此问题?还是需要自定义?

1 个答案:

答案 0 :(得分:0)

您可以使用HttpContext。根据您所在的位置,在此处查看如何访问它:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/http-context?view=aspnetcore-3.1

然后访问上下文请求中的路径:

Context.Request.Path

要从视图中使用它

@{
    var path = Context.Request.Path;
    ...
}