0

ajax を使用して新しいデータでパーシャルを更新しようとしています。私はjavascriptでこの関数を使用しました:

function replace{
    $.ajax({
        url: '@Url.Action("DoThing", "Controller"),
        type: "POST",
        datatype: "actionresult",
        async: false,
        data: {itemCode: $("#ComboBox-input").val(), unitCode: @(Model.UnitCode)}
    });
}

そしてコントローラーのアクション:

Public ActionResult DoThing(int itemCode, int unitCode)
{
    var aThing = new ExModel
                     {
                         ItemCode = itemCode,
                         UnitCode = unitCode
                     }
    return PartialView("_InPartial", aThing);
}

デバッグ中に、送信したデータを使用してコントローラー アクションに到達しましたが、返されたデータを使用して部分ビューをレンダリングする方法がわかりません。

4

1 に答える 1

2

まず、パーシャルは、次のようにjsで参照できる要素に含まれている必要があります。

<div id="myPartialDiv"><!-- here your partial --></div>

次に、データ型を削除し(不要)、サーバーの応答(レンダリングされた部分)をdivに配置するsuccessメソッドを追加します。

function replace{
   $.ajax({
       url: '@Url.Action("DoThing", "Controller")',
       type: "POST",
       async: false,
       data: {itemCode: $("#ComboBox-input").val(), unitCode: @(Model.UnitCode)},
       success: function(response){
           $('#myPartialDiv').html(response);
       }
    });
}

通常、これを自分で行う必要はありません。理由があると思います。ただし、通常は、myPartialDivに設定したAjaxOptionsAjax.ActionLinkを使用する必要があります。UpdateTargetId

于 2012-03-14T10:54:11.603 に答える