51

ASP.Net ルーティングを使用する場合、コード ビハインドから RouteData を取得するにはどうすればよいでしょうか?

RouteHandler の GetHttpHander メソッドから取得できることは知っていますが (RequestContext が渡されます)、コード ビハインドから取得できますか?

みたいなことはありますか...

RequestContext.Current.RouteData.Values["whatever"];

...HttpContext でできるように、グローバルにアクセスできますか?

それとも、RouteData は RouteHandler 内からのみアクセスされることを意図しているのでしょうか?

4

4 に答える 4

162

以下を使用することもできます。

//using System.Web;
HttpContext.Current.Request.RequestContext.RouteData
于 2011-05-12T10:48:57.997 に答える
36

以下を使用できます。

RouteTable.Routes.GetRouteData(new HttpContextWrapper(HttpContext.Current));
于 2009-10-07T13:10:46.500 に答える
0

RouteHandler を作成する必要があると思います。その後、GetHttpHandler イベント中に値を HTTPContext にプッシュできます。

foreach (var urlParm in requestContext.RouteData.Values) {
    requestContext.HttpContext.Items[urlParm.Key] = urlParm.Value;
}

詳細については、この MSDN 記事 を参照してください。

于 2009-06-15T00:01:38.770 に答える