代码之家  ›  专栏  ›  技术社区  ›  Dofs

mvc pass查询字符串

  •  0
  • Dofs  · 技术社区  · 15 年前

    我是Microsoft.mvc的新手,如果这是一个愚蠢的问题,我很抱歉。

    我已经创建了一个非常简单的论坛,我现在正在尝试创建一些标签功能。

    我有一个控制器,在那里索引检索最后10个论坛线程。我想把一个查询字符串,或者类似的带有id的东西传递给forum提供的标签,这样我就可以得到forum线程,比如有标签‘asp.net’。

    如果它是一个常规的webforms项目,我只需向索引页提供一个带有标记id的查询字符串,然后用标记检索论坛线程,但是在mvc.net中没有更聪明的方法来实现它吗?

    我问的原因是,突然使用“常规”查询字符串似乎是从rest url向后退了一步?

    2 回复  |  直到 15 年前
        1
  •  1
  •   Thomas    15 年前

    首先定义操作(可能已经定义了),然后添加所需的参数:

    public ActionResult Forum(string tag, int page)
    {
        // do your thing
        // ...
    
        return View();
    }
    

    然后,在global.asax.cs中,您可以添加一个处理所需参数的路由。

    routes.MapRoute("Forum", "Forum/{tag}/{page}", new {controller = "Home", action = Forum"});
    

    当您转到 http://yourhost/Forum 链接。如果你点击有这样的链接 http://yourhost/Forum/asp.net/1 然后“asp.net”将传递到tag参数,1将传递到page参数。

        2
  •  0
  •   Ryan    15 年前

    您可以使用ActionLink HTML帮助程序。假设您有一个论坛控制器和索引页,以获得到/forums/index/1的链接?tag=asp.net您可以:

    Html.ActionLink("ASP.NET", "index", new { id = 1, tag = "asp.net"})
    
    推荐文章