【问题标题】:How to use QueryString如何使用查询字符串
【发布时间】:2011-01-11 07:49:33
【问题描述】:

如何才能在 ASP.NET MVC 而不是 Webforms 中拥有不同的 URL id,例如 www.somewebsite.com/index?theidentifier=34。

【问题讨论】:

    标签: asp.net-mvc url query-string asp.net-mvc-routing


    【解决方案1】:

    嗯,目的是什么?只是为了访问价值?所有查询字符串值都可以路由到 action 方法中的参数,例如:

    public ActionResult index(int? theidentifier)
    {
       //process value
    }
    

    或者,你可以使用上面提到的QueryString集合,我认为是通过this.RequestContext.HttpContext.Request.QueryString。

    【讨论】:

      【解决方案2】:

      如果你想在 ASP.NET MVC 中处理你的路由,那么你可以打开 Global.asax 并在 RegisterRoutes 方法中添加对 routes.MapRoute 的调用。

      默认路由配置是 {controller}/{action}/{id} => 例如: http://localhost/Home/Index/3,控制器 = HomeController,Action=About,id=3。

      您可以添加类似的内容:

      routes.MapRoute( "NewRoute", // 路由名称 "Index/{id}", // 带参数的 URL new { controller = "Home", action = "Index",id=1 } // 参数默认值 );

      所以http://localhost/Index/3 将被接受

      记得在默认路由配置上面添加这些代码,因为 ASP.NET 会搜索第一个匹配的路由

      【讨论】:

        猜你喜欢
        • 2013-02-26
        • 2011-03-12
        • 1970-01-01
        • 1970-01-01
        • 2014-04-11
        • 2019-03-10
        • 2011-03-02
        • 2010-09-23
        • 1970-01-01
        相关资源
        最近更新 更多