0

我有一个模态对话框,其中包含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" }
                                  )
                   )
            { 
.
.
.

这个想法是,在我向我的用户添加一个新角色之后,ajax 目标在视图上上传角色列表,这是在我的控制器上完成的,redirecttoaction如果所有的审查和插入逻辑都发生了,那么我想关闭拨号但是我只得到

未捕获的错误:无法在初始化之前调用对话框上的方法;试图调用方法“销毁”

4

1 回答 1

0

要关闭 jQuery 模态对话框,您可以使用以下命令:

$("#popupAgregarRolModal").dialog("close");

希望这可以帮助。

编辑:尝试像这样初始化模态,而不是在按钮的单击事件中:

$(document).ready(function () {
    $("#popupAgregarRolModal").dialog({ autoOpen: false, modal: true, resizable: false, draggable: false });
});

然后您可以为单击事件提供单独的功能。

$(".AddRolButton").click(function () {
    //Do stuff
});

这篇文章可能会有所帮助

于 2013-07-30T14:14:51.477 回答