ASP.NET MVC将表单值传递给操作方法

6
我有以下表单。
<form name="SearchForm" method="post" id="SearchForm" action="/Search/">

还有下面的按钮

<input type="button" onclick="javascript:document.SearchForm.submit();" class="btn-leftsearch">

点击此按钮,表单提交并调用此方法。
[HttpPost]
public ActionResult Index(string querystring)
{
   return View();
}

当然查询字符串是空的。我希望将查询字符串或更好的代表表单字段的内容传递给控制器。我尝试过在表单标签中使用action属性进行操作,也尝试在按钮的onclick方法中添加数据,但都没有成功。我想要做的就是像这样传递一些数据:

Search?pri=all&amenity=pool etc

在控制器中,我会有类似以下的代码:
[HttpPost]
public ActionResult Index(string pri, List<string> amenities)
{
   ...
}

有人可以告诉我如何将这些数据传递到视图中吗?
1个回答

11

我建议你可以使用以下代码片段来解决你的问题。

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(FormCollection collection)
{
     string valueFromNameTextBox = collection["name"];
}
请在集合中添加搜索文本框的名称。您将获得实际输入的值。您可以使用表单中所有输入的名称对其进行索引。

1
我明白,但我还有一些其他的数据要传递,这些数据不在表单字段中。我该如何传递它们? - Sachin Kainth

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接