2009-08-25 3 views
0

.NET 라우팅이 web.CONFIG에 포함되어 있으면 언제든지 ajax가로드되지 않도록 sys undefined 오류가 발생합니다..NET ROUTING 및 ajax sys가 정의되지 않았습니다.

의 I/C#

도움 승 .NET 3.5을 사용하고는 많이 주시면 감사하겠습니다.

당신은 노선이 노선 구속 사용할 필요가
+0

[Haacked] (http://stackoverflow.com/users/598/haacked)에 의해 이미 아주 좋은 답변이 있습니다. [여기] (http://stackoverflow.com/questions/273447/how-to-ignore -route-in-asp-net-forms-url-routing # answer-276036). 적어도 내 문제를 해결했습니다. – Shagglez

답변

0

, 그것은 속성은 다음 예는 UICulture을 나타 내기위한 가상 폴더를 사용하는 방법을 보여줍니다

을 제약 조건에 당신이 RouteValueDictionary 경로에서 인스턴스를 추가해야한다는 것을 의미합니다.

예 :

이 경우
RouteTable.Routes.Add(new Route("{locale}/{page}", new CultureRouter()) 
{ 
    Constraints = new RouteValueDictionary() { 
     { "locale", "[a-z]{2}-[a-z]{2}" } , 
     { "page", "([a-z0-9]*).aspx" } 
    } 
}); 
RouteTable.Routes.Add(new Route("{folder}/{page}", new CultureRouter()) 
{ 
    Constraints = new RouteValueDictionary() { 
     { "page", "([a-z0-9]*).aspx" } 
    } 
}); 
RouteTable.Routes.Add(new Route("{locale}/{folder}/{page}", new CultureRouter()) 
{ 
    Constraints = new RouteValueDictionary() { 
      { "locale", "[a-z]{2}-[a-z]{2}" } , 
      { "page", "([a-z0-9]*).aspx" } 
    } 
}); 

는,이 경로는 로케일 키, 페이지 키에 대한 정규 표현식을 평가하고 당신이 당신의 IRouteHandler 클래스에서 모든 키를 평가할 필요가

예 :

public IHttpHandler GetHttpHandler(RequestContext requestContext) 
{ 
    StringBuilder virtualPath = new StringBuilder("~/Pages/"); 

    if (requestContext.RouteData.Values.ContainsKey("locale")) 
    { 
     Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(requestContext.RouteData.Values["locale"].ToString()); 
    } 

    if (requestContext.RouteData.Values.ContainsKey("folder")) 
    { 
     virtualPath.AppendFormat("{0}/", requestContext.RouteData.Values["folder"].ToString()); 
    } 

    if (requestContext.RouteData.Values.ContainsKey("page")) 
    { 
     virtualPath.Append(requestContext.RouteData.Values["page"].ToString()); 
    } 

    IHttpHandler pageHandler = BuildManager.CreateInstanceFromVirtualPath(virtualPath.ToString(), typeof(Page)) as IHttpHandler; 

    return pageHandler; 
} 

이 정보가 도움이되기를 바랍니다.

관련 문제