Ajax更新目标id,但不是操作链接
本文关键字:操作 链接 更新 目标 id Ajax | 更新日期: 2023-09-27 18:17:57
我之前用过这个,但这是一个链接,一旦链接被点击
Ajax.ActionLink("XXX", "UpdateGridView", new { }, new AjaxOptions { UpdateTargetId = "configs"})
);
我想要的是JS中的一个函数做同样的事情,调用Action
并给定UpdateTargetId
,它将用Action
重新渲染部分视图。
有可能吗?
谢谢编辑:
$.ajax({
type: "POST",
url: "AddUpdateConfigs",
data: ({id: @Model.QueueMonitorConfigurationsID, pathType: $('#ddlConfigTypeName').val(), threshold:$('#ddlThreshold').val(), valueType:$('#ddlValueTypeName').val(), location: $('#txtbLocation').val(), limit: $('#txtbLimit').val(), config: $('#NewOrUpdate').val() }),
dataType: 'application/json',
statusCode: {
404: function(){
alert("Data is duplicated");
},
405:function(){
alert("Location Path is not correct");
},
406: function(){
alert("Location Path has to be UNC path");
},
407: function(error){
alert(error);
},
410:function(result){
alert("Item added correctly");
$('#gridView').load('gvConfigurations');
},
411:function(result){
alert("Item updated correctly");
}
}
});
所以我的代码工作,但当我的动作返回代码410,我想调用Action
和更新gridView gvConfigurations
您可以使用$.ajax()
函数:
$.ajax({
url: '/SomeController/UpdateGridView',
type: 'GET',
success: function(result) {
$('#configs').html(result);
}
});
或等价的$.get()
:
$.get('/SomeController/UpdateGridView', function(result) {
$('#configs').html(result);
});
或更短的等效值,使用load()
:
$('#configs').load('/SomeController/UpdateGridView');
这3个jQuery片段都做同样的事情:它们向/SomeController/UpdateGridView
发送一个AJAX请求,并使用这个AJAX调用返回的部分结果更新id="configs"
的DOM元素。