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

时间:2012-09-04 12:35:23

标签: asp.net-mvc forms

我有以下表格

<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();
}

当然querystring为null。我想将查询字符串或最好是表示表单中字段的其他内容传递给控制器​​。我尝试过使用表单标记中的action属性。我试图将数据添加到按钮中的onclick方法。什么都行不通。我想做的就是传递一些这样的数据

Search?pri=all&amenity=pool etc

在控制器中我会有类似

的东西
[HttpPost]
public ActionResult Index(string pri, List<string> amenities)
{
   ...
}

有人可以告诉我如何将这些数据传递给视图吗?

1 个答案:

答案 0 :(得分:11)

我建议您使用以下代码片段解决问题。

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(FormCollection collection)
{
     string valueFromNameTextBox = collection["name"];
}

关于集合请输入搜索文本框的名称。您将获得实际输入的值。 您可以使用表单上所有输入的名称为此集合建立索引。