2009-08-25 17 views
0

.NETルーティングがweb.CONFIGに含まれるたびに、ajaxのロードを妨げるsys未定義のエラーが発生します。.NET ROUTINGとajax sysが定義されていません

私は任意のヘルプははるかに高く評価されるだろう。/ C#

wは.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

が、それはあなたがプロパティにルートインスタンスにRouteValueDictionaryを追加しなければならないことを意味

に次の例をContraints UICultureを示すために仮想フォルダを使用する方法を示しています。

例:この場合

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; 
} 

これがあなたに役立つことを願っています。

関連する問題