2010-08-16 103 views
2

如何在使用ASP.NET 4.0的URL路由中傳遞兩個查詢參數?帶有兩個或多個查詢字符串參數的ASP.NET 4.0 URL路由

我已經經歷了很多文章,但到處都只顯示了一個參數。

我想顯示的網址是:

http://www.mywebsite.com/reports/1-this-is-my-first-report 

第一個參數是ID1
二是名稱This is my first report

我想下面的路線,但它不起作用

routes.MapPageRoute(
     "MarketReports",    // Route name 
     "Reports/{*i}-{*n}", // Route URL 
     "~/pageControl2.aspx"  // Web page to handle route 
    ); 

如何按照所述進行此項工作?

回答

3

嘗試格式化的URL是這樣的:

http://www.mywebsite.com/reports/1/this-is-my-first-report

routes.MapPageRoute(
     "MarketReports",    // Route name 
     "Reports/{*i}/{*n}", // Route URL 
     "~/pageControl2.aspx"  // Web page to handle route 
    ); 
+0

謝謝布萊恩, 它現在工作。 但我有路由與JavaScript的另一個問題 我填充JavaScript的菜單。 它填充錯誤的引用。 如何爲JavaScript菜單生成Rout URL? – 2010-08-17 12:52:22

+0

嘗試:var route ='<%$ RouteUrl:locale = CA,year = 2009,routename = salesroute%>'; – 2010-08-17 14:54:20

+0

或嘗試:var r ='<%= RouteTable.Routes.GetVirtualPath(Nothing,「ExpensesRoute」,parameters)%>';這將需要一個<%@ import語句。 – 2010-08-17 14:55:29

1

試試這個

Response.RedirectToRoute("UrlRouting for Querystring", 
    new { name = txtsearchurlrouting.Text, text = txtsearchid.Text }); 

在Global.asax中

routes.MapPageRoute("UrlRouting for Querystring", 
    "Querystring/Selected/{name}/{text}/", "~/Address.aspx"); 

這樣我們可以通過多種querystri ng參數

相關問題