0

我正在研究 asp.net mvc。我正在尝试使用 JQuery 对话框显示一个弹出窗口。我已经用我的动作加载了对话框,例如,

$('#dialog').dialog({
                autoOpen: false,
                modal: true,
                width: 520,
                height: 'auto',
                title: 'Edit Zip Code',
                position: 'center',
                show: { effect: 'fade', duration: 800 },
                open: function (event, ui) {
                    $(this).load("/GridAjax/CreateAlbumPartial?id=" + guid);
                },
                close: clear,
                buttons: {
                    "Update": function () {
                     ....
}
});

现在我的视图加载速度有点慢。所以乍一看它显示了以前的视图。所以我决定在加载数据之前添加一些加载效果。我尝试过在打开对话框时显示加载图像并在成功时隐藏加载图像,例如,

open: function(){
$('#loadingDiv').show();
}
.
.
.
success: function(){
$('#loadingDiv').hide();
}

但这对我不起作用,而且它没有安顿在适当的位置。所以请指导我实现。

4

1 回答 1

2

试试这个:

$('#dialog').dialog({
    //exisiting stuff
    open: function(event, ui) {
        $.ajax({
            url: "/GridAjax/CreateAlbumPartial?id=" + guid,
            success:function(data){
                $(this).html(data);
            },
            beforeSend:function(){
                $('#loadingDiv').show();
            },
            complete:function(){
                $('#loadingDiv').hide();
            }
        });
    }
});

希望这会有所帮助!

于 2012-09-29T16:35:32.853 回答