具有两个或多个查询字符串参数的ASP.NET 4.0 URL路由

具有两个或多个查询字符串参数的ASP.NET 4.0 URL路由,asp.net,url-routing,asp.net-4.0,Asp.net,Url Routing,Asp.net 4.0,如何使用ASP.NET 4.0在URL路由中传递两个查询参数 我已经阅读了许多文章,但在任何地方它都只显示一个参数 我希望显示URL为: http://www.mywebsite.com/reports/1-this-is-my-first-report 第一个参数是ID:1 第二个是名称:这是我的第一份报告 我试着沿着这条路线走,但它不起作用 routes.MapPageRoute( "MarketReports", // Route nam

如何使用ASP.NET 4.0在URL路由中传递两个查询参数

我已经阅读了许多文章,但在任何地方它都只显示一个参数

我希望显示URL为:

http://www.mywebsite.com/reports/1-this-is-my-first-report
第一个参数是ID
1

第二个是名称
这是我的第一份报告

我试着沿着这条路线走,但它不起作用

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

我如何才能使其按所述工作?

尝试以下方式格式化URL:

试试这个

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");

这样我们可以传递多个查询字符串参数

谢谢Brian,它现在正在工作。但我在路由方面还有一个问题&javascript我正在填充javascript菜单。它填充错误的引用。如何为javascript菜单生成路由URL?请尝试:var route='';或者试试:var r='';这需要一个
routes.MapPageRoute("UrlRouting for Querystring", 
     "Querystring/Selected/{name}/{text}/", "~/Address.aspx");