我有一个包含ajax.beginform.
在视图上我有一个所选用户的角色列表,当我点击add
时,该对话框是使用ajax创建的
视图:
<div id="popupAgregarRolModal" title="@Res_String.AsaignRol">
<!-- Client Partial, empty for now -->
</div>
<script>
$(document).ready(function () {
$(".AddRolButton").on("click", function (event) {
event.preventDefault();
$.ajax({
url: "Permiso/_GestionarRol?idSelectedUser=" + $("#AdmPerGridBUsquedaUsuarioSelectedRow").val(),
type: "GET",
})
.done(function (result) {
$("#popupAgregarRolModal").html(result).dialog({ modal: true, height: 'auto', width: 'auto', resizable: false });
});
});
});
function closeDialogNuevoRol(Result) {
$("#popupAgregarRolModal").dialog('destroy');
}
</script>
,该对话框包含ajax.beginform,如:
using (Ajax.BeginForm("SetPermiso", "Permiso", new AjaxOptions
{
UpdateTargetId = "ABMPermisos",
InsertionMode = InsertionMode.Replace,
HttpMethod = "POST",
OnSuccess = "closeDialogNuevoRol"
}, new { @id = "AddRolForm" }
)
)
{
.
.
.
我的想法是,在我向用户添加一个新的rol后,ajax目标上传了视图中的角色列表,如果所有的comprobation和插入逻辑都存在,则使用redirecttoaction
在我的控制器上完成,然后我想关闭拨号,但我只得到
未捕获错误:在初始化之前无法调用对话框上的方法; 试图调用方法'destroy'
答案 0 :(得分:0)
要关闭jQuery模式对话框,可以使用:
$("#popupAgregarRolModal").dialog("close");
希望这有帮助。
编辑:尝试像这样初始化模态而不是按钮的click事件:
$(document).ready(function () {
$("#popupAgregarRolModal").dialog({ autoOpen: false, modal: true, resizable: false, draggable: false });
});
然后,您可以为click事件设置单独的函数。
$(".AddRolButton").click(function () {
//Do stuff
});