如何使用ajax帖子使用新数据呈现部分视图?

时间:2012-03-14 09:24:20

标签: jquery ajax refresh partial-views actionresult

我正在尝试使用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);
}

现在在调试期间,我使用我发送的数据进入控制器操作, 但我不知道如何使用返回的数据渲染局部视图。

1 个答案:

答案 0 :(得分:2)

首先,你的部分必须在你可以在js中引用的元素中,如下所示:

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

然后,删除数据类型(不必要)并添加成功方法,该方法将服务器响应(您呈现的部分)放在div中:

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);
       }
    });
}

通常你不必自己做这件事,我想你会有理由。 但通常您应该Ajax.ActionLinkAjaxOptions一起使用,UpdateTargetId设置为myPartialDiv。