我构建了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核心功能来处理此问题?还是需要自定义?
答案 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;
...
}