1

ビューページにフォームがあります.5つのテキストボックスと1つの検索ボタンが含まれています.ユーザーがテキストボックスに値を入力し(すべてのフィールドを入力することは必須ではありません)、検索ボタンをクリックすると、配列を作成してコントローラーに渡し、検索結果に応じて、検索されたレコードの結果を表示する必要があります。

検索された値を配列に格納することができます。この配列をコントローラーに渡す方法と、コントローラーでこれらの値にアクセスする方法が必要です。

4

2 に答える 2

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>
于 2012-08-03T11:14:32.933 に答える
0

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"
    });
})
于 2012-08-03T11:05:30.723 に答える