2

私のウェブサイトには、tableすべてにtd、中にあります。テーブルを調べて、すべてのdivをシリアル化し、サーバーに投稿します。div<input>

        for (var r = 0; r < tbodyRow.length; r++) {
            var tbodyCols = tbodyRow[r].cells;
            for (var c = 0; c < tbodyCols.length; c++) {
                row = r + 1;
                cell = c + 1;
                div = $("#tbody tr:nth-child(" + row + ") td:nth-child(" + cell + ") :input").serialize();
                if (div != "") {
                    $.post("../Contoller/Action?Mode=" + Mode, div, function () { });
                }
                tbodyCounter++;
            };
        };

サーバー内-アクションには、それを取得するパラメーターとしてオブジェクトがあります。

オブジェクトのすべてのリスト(divにある)を一度だけ投稿してList<T>、サーバー側と同じように取得したいと思います。出来ますか ?

4

2 に答える 2

2

はい、モデルバインディングはそれを可能にします。以下の記事を参照してください

http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet-mvc-2-style/

紹介については以下も参照してください

http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx

于 2012-12-15T17:28:18.780 に答える
1

フォームタグ内に入力を入れ、フォームをシリアル化して送信します。

$.post("@Url.Action("YourAction","YourController")",
                            $("#yourFormID").serailize(),function(data){

});

コントローラーでは、ビューが強く入力されたモデル/ viewmodelをパラメーターとして使用して、MVCモデルバインディングがその投稿されたデータをバインドするようにすることができます。

[HttpPost]
public ActionResult YourAction(YourViewModel model)
{

 //do something
}
于 2012-12-15T17:29:09.413 に答える