提交表单后在URL中包含参数

时间:2019-08-29 04:12:41

标签: asp.net-mvc

我有搜索表,现在提交后,网站将返回视图和URL,例如https://localhost:44303/Product/Search,但是我希望URL包含查询字符串https://localhost:44303/Product/Search?name=abc&brand=edf,以便访问者可以复制和共享它< / p>

-- view --
@using (Html.BeginForm("Search", "Product", FormMethod.Post)
{
  <input id="name" name="name">
  <input id="brand" name="brand">
  <button type="submit">Search</button>
}

-- controller --
public ActionResult Search(SearchPara para)
{
   // do stuff and return view + model
}

-- model --
class SearchPara {
  public string name {get; set;}
  public string brand {get; set;}
}

1 个答案:

答案 0 :(得分:1)

通过将“表单方法”更改为“ GET”,您的表单将提交到控制器的“搜索”操作并映射到模型。

您认为这应该是新形式:

@using (Html.BeginForm("Search", "Product", FormMethod.Get)
{
  <input id="name" name="name">
  <input id="brand" name="brand">
  <button type="submit">Search</button>
}

表单输入将成为搜索URL的一部分(并且可以复制)。

 https://localhost:44303/Product/Search?name=abc&brand=edf