我在我的視圖中有一個表單page.it包含5個文本框,一個搜索按鈕。用戶在文本框中輸入值(輸入所有字段不是必需的),然後單擊搜索按鈕,我必須將其存儲在數組中並將其傳遞給控制器,並且根據搜索結果,我必須顯示搜索結果。將數組值從視圖傳遞給控制器使用ajax
我能夠將搜索到的值存儲在數組中,現在我想如何將此數組傳遞給控制器以及如何在控制器中訪問這些值。
我在我的視圖中有一個表單page.it包含5個文本框,一個搜索按鈕。用戶在文本框中輸入值(輸入所有字段不是必需的),然後單擊搜索按鈕,我必須將其存儲在數組中並將其傳遞給控制器,並且根據搜索結果,我必須顯示搜索結果。將數組值從視圖傳遞給控制器使用ajax
我能夠將搜索到的值存儲在數組中,現在我想如何將此數組傳遞給控制器以及如何在控制器中訪問這些值。
使用ajax。如果jQuery是一個選項,你可以寫這樣的事情
$(form).submit(function()
{
var ;
$.ajax({
type: "POST",
url: "/Controller/Action",
data: JSON.stringify(_yourArrayObject),
success: function(data){
alert(data.Result);
},
dataType: "json"
});
})
何塞稱,您的要求可能是這樣的:
$("#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>
我已經以這種方式實現了,我在我的控制器中使用了foreach循環來輸入值爲空或不是。當我在文本框中輸入一個值並且點擊搜索按鈕,在foreach按鈕處拋出NullReference Exception。 – steve 2012-08-03 11:37:01
我編輯了code.it工程100%perfect.please檢查。 – 2012-08-03 13:55:51
不要忘記標記爲答案,如果是的話。 – 2012-08-17 05:55:45
將表單動作指向您的控制器的一個動作。 – jose 2012-08-03 10:54:06
感謝您的答覆,如何將這些數組值從視圖傳遞到控制器 – steve 2012-08-03 10:56:51