我正在尝试使用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);
}
现在在调试期间,我使用我发送的数据进入控制器操作, 但我不知道如何使用返回的数据渲染局部视图。
答案 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.ActionLink与AjaxOptions一起使用,UpdateTargetId
设置为myPartialDiv。