【问题标题】:ASP.NET 4.0 URL routing with two or multiple querystring parameters具有两个或多个查询字符串参数的 ASP.NET 4.0 URL 路由
【发布时间】:2010-08-16 16:36:33
【问题描述】:

如何使用 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
    );

我怎样才能按照描述进行这项工作?

【问题讨论】:

    标签: asp.net url-routing asp.net-4.0


    【解决方案1】:

    尝试以这种方式格式化 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
        );
    

    【讨论】:

    • 谢谢布赖恩,它现在正在工作。但我在路由和 javascript 方面还有一个问题,我正在填充 javascript 菜单。它填充了错误的参考。如何为 javascript Menu 生成 Rout URL?
    • 试试:var route = '';
    • 或者试试: var r = '';这需要
    【解决方案2】:

    试试这个

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-08
      • 2019-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-25
      • 1970-01-01
      相关资源
      最近更新 更多