2010-02-26 172 views
2

我使用ASP.Net 3.5 SP1「System.Web.Routing」在我的WebForm應用程序中啓用URL路由。現在,我需要的是通過在查詢字符串如一些參數:ASP.NET System.Web.Routing和查詢字符串參數

http://www.mydomain.com/Search/Books/Computers?sort=author&pagesize=10

這是路線我用:

 routes.Add("BooksSearch", new Route 
     (
      "Search/{Category}/{Product}", 
      new CustomRouteHandler("~/Search.aspx") 
     )); 

,因爲它被重定向到search.aspx路線是工作正常,但在querystring我找不到額外的參數排序& pagesize。

+0

我仍然無法找到一種方法讓它工作..任何指針????? – 2010-03-02 06:32:45

回答

2

您不必將它們添加到您的路線,因爲它們將被正常處理。

參數在您的Request.Params集合和裏面的郵件Request.QueryString集合中。

+0

Request.Params [「sort」]和Request.QueryString [「sort」]都返回null。我認爲這是因爲CustomRouteHandler在沒有任何QueryString參數的情況下動態初始化目標頁面。 – 2010-02-26 15:06:26

+0

從您的接受我認爲你已經找到你缺少的參數。 – AxelEckenberger 2010-03-05 08:03:06

3

請使用

Page.RouteData.Values [ 「ID」]

代替

的Request.QueryString [ 「ID」]

感謝