programing

코드백에서 RouteData에 액세스하려면 어떻게 해야 합니까?

telebox 2023. 8. 20. 10:46
반응형

코드백에서 RouteData에 액세스하려면 어떻게 해야 합니까?

ASP를 사용하는 경우.네트워크 라우팅, 코드백에서 루트 데이터를 어떻게 가져올 수 있습니까?

RouteHandler의 GetHttpHander 메서드에서 얻을 수 있다는 것을 알고 있습니다(RequestContext를 넘겨받습니다). 하지만 코드백에서 얻을 수 있습니까?

뭐 그런 게...

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

...HttpContext와 같이 글로벌하게 액세스할 수 있습니까?

아니면 RouteData는 RouteHandler 내부에서만 액세스해야 하는 것입니까?

다음을 사용할 수도 있습니다.

//using System.Web;
HttpContext.Current.Request.RequestContext.RouteData

다음을 사용할 수 있습니다.

RouteTable.Routes.GetRouteData(new HttpContextWrapper(HttpContext.Current));
  [HttpGet]
  [Route("{countryname}/getcode/")]
  public string CountryPhonecode()
  {
     // Get routdata by key, in our case it is countryname
     var countryName = Request.GetRouteData().Values["countryname"].ToString();

     // your method
     return GetCountryCodeByName(string countryName);
  }

RouteHandler를 생성해야 GetHttpHandler 이벤트 중에 HTTP 컨텍스트에 값을 푸시할 수 있습니다.

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

자세한 내용은 이 MSDN 문서에서 확인할 수 있습니다.

언급URL : https://stackoverflow.com/questions/976855/how-can-you-access-routedata-from-the-code-behind

반응형