在MVC中,如何将表单数据作为查询字符串传递?

时间:2015-07-16 07:36:03

标签: c# search model-view-controller query-string

我想这样做,以便当人们搜索某些内容时,他们搜索的内容会被添加到下一页的网址中。因此,他们可以收藏页面,然后再次访问页面而无需再次填写表单。我可以很好地假设我想要传递硬编码查询字符串参数的所有帖子。

1 个答案:

答案 0 :(得分:0)

当您发送HTTP POST请求时,客户端发送到服务器的数据将存储在请求的正文中。

当您发送HTTP GET请求时,您可以将数据发送到查询字符串中的数据(在问号后面,?,以键/值对的形式,?name=test&age=21)网址。

话虽这么说,您必须在控制器中的ActionResult方法中添加一个过滤器,该过滤器只允许HTTP GET请求到达它。例如,你需要这样的东西:

public class HomeController : Controller
{
    [HttpGet]
    public ActionResult ActionName(string name, int age)
    {
    }
}

然后客户端可以使用以下URL发出GET请求:

www.domain/Home/ActionName?name=test&age=21