如何从代码隐藏中访问RouteData?
在使用ASP.Net路由时,如何从代码隐藏中获取RouteData?
我知道你可以从RouteHandler的GetHttpHander方法得到它(你得到了RequestContext),但是你能从代码隐藏中获得吗?
有没有像…
RequestContext.Current.RouteData.Values["whatever"];
…你可以访问全局,就像你可以用HttpContext做的一样?
还是说RouteData只能从RouteHandler内部访问?
您可以使用以下内容:
RouteTable.Routes.GetRouteData(new HttpContextWrapper(HttpContext.Current));
您也可以使用以下内容:
//using System.Web; HttpContext.Current.Request.RequestContext.RouteData
我想你需要创build一个RouteHandler,然后你可以在GetHttpHandler事件过程中将值推送到HTTPContext中。
foreach (var urlParm in requestContext.RouteData.Values) { requestContext.HttpContext.Items[urlParm.Key] = urlParm.Value; }
您可以在此MSDN文章中find更多信息。