1

Ajax 呼び出しから部分ビューを返しています。

$(document).ready(function () {
$("#itemSubmitter").click(function (e) {
    $.ajax({
        url: '@Url.Action("GetShippingAddress", "Order")',
        type: "POST",
        cache: false,
        success: function (data) {

            $("#shoppingAddressWrapper").html(data);

        }
    });
});
});

これにより、期待どおりにビューが返されます。ただし、パーシャルには、データが既に取り込まれたいくつかのテキストボックスがあります。#shoppingAddressWrapper は Form タグ内にあります。

フォームを送信すると、パーシャルの Textboxes の値は Request.Params コレクションの一部ではありません。

これは正常ですか?Ajax 呼び出しを介してレンダリングされた部分ビューの一部として入力ボックスを返し、そのデータをサーバーにポストして値を取得することはできませんか?

4

1 に答える 1

1

私は問題が何であるかを発見しました。テキスト ボックスのモデルの状態をクリアする必要があります。

if (Request.IsAjaxRequest())
    ModelState.Clear();

必要な値だけをクリアすることも、すべての値をクリアすることもできます。それ以外の場合、ajax メカニズムは古い値を挿入し直します。

于 2012-01-24T04:33:25.290 に答える