我可以通过以下代码轻松访问C# MVC控制器中的RouteData-Object:
string idKeyName = "id";
if (RouteData.Values.ContainsKey(idKeyName))
{
string hash = RouteData.Values[idKeyName].ToString();
}但是,如果不直接访问MVC-RouteData-Object,我如何在SignalR-Hub中做到这一点呢?
发布于 2019-09-07 03:11:40
我自己找到了一个解决方案:
HttpContext.Current.Request.UrlReferrer.Segments.Last();这实际上不是一个RouteData-Object,但它包含了我需要的路由的每一部分。
这需要引用站点的路由是这样的(这是MVC的默认路由):
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);您可以对路由值的每个部分使用Segments-Collection。
https://stackoverflow.com/questions/57813341
复制相似问题