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すべてのコンプロベーションと挿入ロジックが発生した場合にコントローラーで行われます。その後、ダイアログを閉じたいのですが、私は得るだけ

不明なエラー: 初期化の前にダイアログでメソッドを呼び出すことはできません。メソッド「destroy」を呼び出そうとしました

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 に答える