Asp.net core 如何获取asp.net核心中任何url的路由值?

Asp.net core 如何获取asp.net核心中任何url的路由值?,asp.net-core,asp.net-core-mvc,Asp.net Core,Asp.net Core Mvc,我需要获取ASP.NET MVC Core中任意URL的路由值 可能是这样的问题:,因为我还没有找到直接的方法 我也没能用这种方法做到 看起来一旦我有了一个带有url请求的HttpContext,就很容易获得路由值,并且查看GitHub中的源代码,我已经到了创建HttpContextFactory的地步,但就是这样,不能再进一步了 有人知道怎么做吗 提前谢谢 请试试看 var t = ViewContext.RouteData.Values["id"]; 请试一试 var t = View

我需要获取ASP.NET MVC Core中任意URL的路由值

可能是这样的问题:,因为我还没有找到直接的方法

我也没能用这种方法做到

看起来一旦我有了一个带有url请求的HttpContext,就很容易获得路由值,并且查看GitHub中的源代码,我已经到了创建HttpContextFactory的地步,但就是这样,不能再进一步了

有人知道怎么做吗

提前谢谢

请试试看

var t =  ViewContext.RouteData.Values["id"];
请试一试

var t =  ViewContext.RouteData.Values["id"];

我知道这是一篇老文章,但这是我为了从运行在基于URL的ASP.NET MVC核心应用程序中的RouteCollection获取RouteData而做的

公共异步任务GetRouteDataForUrl[FromQueryName=url]字符串url { var uri=新的Uriurl; var httpContext=新的DefaultHttpContext; httpContext.Request.Path=uri.PathAndQuery; var routeContext=新的RouteContexthttpContext; var router=RouteData.Routers.First;//获取顶级路由器 wait router.RouteAsyncrouteContext;//路由器更新routeContext 返回新的JsonResultrouteContext.RouteData.Values; }
routeContext.RouteData由根级别路由器填充。

我知道这是一篇较旧的帖子,但这是为了从运行在基于URL的ASP.NET MVC核心应用程序中的RouteCollection获取RouteData而做的

公共异步任务GetRouteDataForUrl[FromQueryName=url]字符串url { var uri=新的Uriurl; var httpContext=新的DefaultHttpContext; httpContext.Request.Path=uri.PathAndQuery; var routeContext=新的RouteContexthttpContext; var router=RouteData.Routers.First;//获取顶级路由器 wait router.RouteAsyncrouteContext;//路由器更新routeContext 返回新的JsonResultrouteContext.RouteData.Values; }
routeContext.RouteData由根级别路由器填充。

您可以与我们分享您的尝试吗。很难猜出您想要解决什么问题。您可能还应该查看aspnet/路由存储库:我试图从请求对象的引用url中获取RouteValue,以实现一个简单的视图导航方案。就好像我用referer url创建了一个新的Request对象,并从中获取routeValue。你能和我们分享一下你的尝试吗。很难猜出您想要解决什么问题。您可能还应该查看aspnet/路由存储库:我试图从请求对象的引用url中获取RouteValue,以实现一个简单的视图导航方案。这就好像我用引用url创建了一个新的请求对象,并从中获取RouteValue。请解释您的回答谢谢,但ViewContext.RouteData具有当前请求的路由值,我要查找的是类似的内容,但对于引用url。请解释您的回答谢谢,但是ViewContext.RoutedData具有当前请求的路由值,我要查找的是类似的内容,但是对于引用url.RoutedData.Routers.First Sequence不包含如上所述的元素名称错误-我认为这几乎没有这么容易,然而,RouteData.Routers.First序列不包含如上所述的元素名称错误-我认为这还不容易。