我的视图页面中有一个表单。它包含5个文本框,一个搜索按钮。用户在文本框中输入值(输入所有字段不是必需的),然后单击搜索按钮,我必须存储的值它在一个数组中并传递给控制器,根据搜索结果,我必须显示那些搜索记录的结果。
我能够将搜索到的值存储在数组中,现在我想知道如何将此数组传递给控制器以及如何在控制器中访问这些值。
答案 0 :(得分:1)
$("#submit").click(function () {
var searchData = new Array();
$(".search-input").each(function () {
searchData.push($(this).attr('value'));
});
$.ajax({
type: "POST",
url: "/Home/Index",
data: {"searchData" : searchData},
success: function (data) {
// do something on success
},
traditional: true,
dataType: "json"
});
return false;
});
您的控制器操作可能是:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index([Bind(Prefix="searchData")] List<string> searchData)
{
return Index();
}
并且您的表单必须有这样的标记:
<form id="myform">
<input type="text" class='search-input' />
<input type="text" class='search-input' />
<input type="text" class='search-input' />
<input type="text" class='search-input' />
<input type="submit" id="submit" />
</form>
答案 1 :(得分:0)
使用ajax。如果jQuery是一个选项,你可以写这样的东西
$(form).submit(function()
{
var ;
$.ajax({
type: "POST",
url: "/Controller/Action",
data: JSON.stringify(_yourArrayObject),
success: function(data){
alert(data.Result);
},
dataType: "json"
});
})