2010-08-16 99 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参数

相关问题