ビューページにフォームがあります.5つのテキストボックスと1つの検索ボタンが含まれています.ユーザーがテキストボックスに値を入力し(すべてのフィールドを入力することは必須ではありません)、検索ボタンをクリックすると、配列を作成してコントローラーに渡し、検索結果に応じて、検索されたレコードの結果を表示する必要があります。
検索された値を配列に格納することができます。この配列をコントローラーに渡す方法と、コントローラーでこれらの値にアクセスする方法が必要です。
ビューページにフォームがあります.5つのテキストボックスと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>
Use ajax. If jQuery is an option you could write something like this
$(form).submit(function()
{
var ;
$.ajax({
type: "POST",
url: "/Controller/Action",
data: JSON.stringify(_yourArrayObject),
success: function(data){
alert(data.Result);
},
dataType: "json"
});
})