Asp.net 如果有多个窗口弹出,则出现KendoUI窗口问题

Asp.net 如果有多个窗口弹出,则出现KendoUI窗口问题,asp.net,asp.net-mvc,kendo-ui,kendo-asp.net-mvc,Asp.net,Asp.net Mvc,Kendo Ui,Kendo Asp.net Mvc,H、 我正在使用KendoUI窗口,我遇到了一个问题,因为我必须打开3个弹出窗口,其中包含div作为内容,但高度不同。如果我选择第一个高度为100px的窗口,然后关闭它,然后打开第二个高度为200px的窗口,它保持在100px,因此隐藏了第二个弹出窗口的内容,当我调整窗口大小并关闭它时,当再次打开它时,它保持在我调整大小的前一个维度。 为什么会发生这种事,我一点也不知道。请帮帮我 if (AccountType == "Bank") { //alert("Return V

H、 我正在使用KendoUI窗口,我遇到了一个问题,因为我必须打开3个弹出窗口,其中包含div作为内容,但高度不同。如果我选择第一个高度为100px的窗口,然后关闭它,然后打开第二个高度为200px的窗口,它保持在100px,因此隐藏了第二个弹出窗口的内容,当我调整窗口大小并关闭它时,当再次打开它时,它保持在我调整大小的前一个维度。 为什么会发生这种事,我一点也不知道。请帮帮我

if (AccountType == "Bank") {
            //alert("Return View For Bank")

            $.ajax({
                type: 'POST',
                url: "Popup_Account_Update",
                data: {AccountID:AccountID},
                success: function (response) {

                    $('#Update_Window').empty();
                    $('#Update_Window').html(response);

                    $popup = $("#Update_Window");
                    var wnd = $popup.kendoWindow({
                        //content: Main.rootUrl("Home/Customer/" + customer.attributes[1].value),
                        actions: ["Close"],
                        modal: true,
                        //title: customer.attributes[2].value,
                        visible: false,
                        width: '500px',
                        height: '200px',
                        scrollable: false,
                        //deactivate: function () { wnd.destroy(); }
                    }).data('kendoWindow').center();
                    wnd.open();
                    var tmp = $("#Update_Window").data("kendoWindow");
                    tmp.title("Bank Account Edit");

                }
            });
        }
if (AccountType == "Cash") {
            //alert("Return View For Bank")

            $.ajax({
                type: 'POST',
                url: "Popup_Account_Update",
                data: { AccountID: AccountID },
                success: function (response) {

                    $('#Update_Window').empty();
                    $('#Update_Window').html(response);

                    $popup = $("#Update_Window");
                    var wnd1 = $popup.kendoWindow({
                        //content: Main.rootUrl("Home/Customer/" + customer.attributes[1].value),
                        actions: ["Close"],
                        modal: true,
                        //title: customer.attributes[2].value,
                        visible: false,
                        width: '500px',
                        height: '360px',
                        scrollable: false,
                        //deactivate: function () { wnd1.destroy(); }
                    }).data('kendoWindow').center().open();
                    //wnd1.open();
                    var tmp = $("#Update_Window").data("kendoWindow");
                    tmp.title("Cash Account Edit");

                }
            });
        }
<div id="Update_Window" style="display:none;"></div>
if(账户类型==“银行”){
//警报(“银行返回视图”)
$.ajax({
键入:“POST”,
url:“弹出帐户更新”,
数据:{AccountID:AccountID},
成功:功能(响应){
$(“#更新_窗口”).empty();
$('#更新窗口').html(响应);
$popup=$(“#更新窗口”);
变量wnd=$popup.kendoWindow({
//内容:Main.rootUrl(“Home/Customer/”+Customer.attributes[1].value),
操作:[“关闭”],
莫代尔:是的,
//标题:customer.attributes[2].值,
可见:假,
宽度:“500px”,
高度:“200px”,
可滚动:false,
//停用:函数(){wnd.destroy();}
}).data('kendoWindow').center();
wnd.open();
var tmp=$(“更新窗口”)。数据(“kendoWindow”);
tmp.标题(“银行账户编辑”);
}
});
}
如果(账户类型=“现金”){
//警报(“银行返回视图”)
$.ajax({
键入:“POST”,
url:“弹出帐户更新”,
数据:{AccountID:AccountID},
成功:功能(响应){
$(“#更新_窗口”).empty();
$('#更新窗口').html(响应);
$popup=$(“#更新窗口”);
变量wnd1=$popup.kendoWindow({
//内容:Main.rootUrl(“Home/Customer/”+Customer.attributes[1].value),
操作:[“关闭”],
莫代尔:是的,
//标题:customer.attributes[2].值,
可见:假,
宽度:“500px”,
高度:'360px',
可滚动:false,
//停用:函数(){wnd1.destroy();}
}).data('kendoWindow').center().open();
//wnd1.open();
var tmp=$(“更新窗口”)。数据(“kendoWindow”);
tmp.标题(“现金账户编辑”);
}
});
}

正如你所说:你关闭它,你没有破坏它。关闭一个
窗口
意味着隐藏它,但它仍然在那里,具有相同的内容和属性

您不应该使用
$('#更新窗口')。empty()因为这会释放DOM而不是剑道窗口,所以会导致内存泄漏。使用:


无论如何,我的建议是不要创建和销毁windows,因为这会对性能产生一些影响,你应该尝试重新使用它。

是的。但是如果我们使用多个不同内容高度的窗口,那么如何处理它?在我的情况下,我必须打开3个弹出窗口,其中包含div作为内容,但高度不同。如果我选择第一个窗口,高度为100px,然后关闭它,然后打开第二个窗口,高度为200px,它保持在100px,因此隐藏了第二个弹出窗口的内容不,我必须同时显示这两个窗口,因为其中有不同的窗体,我必须更新窗体的值。如果您可能必须同时显示这两个窗口,则创建两个窗口,并以正确的大小显示它们,您可以使用
wnd.wrapper.css({宽度:100,高度:300})检查。我创建了3个窗口。第一个在重新打开时恢复宽度和高度,第二个仅恢复高度,第三个仅恢复宽度。
$('#Update_Window').data("kendoWindow").destroy();