如果存在多个Window pop,则会出现KendoUI Window问题

时间:2013-12-19 10:48:58

标签: asp.net asp.net-mvc kendo-ui kendo-asp.net-mvc

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>

1 个答案:

答案 0 :(得分:0)

正如你所说:你close它,你没有毁灭。关闭window意味着隐藏它,但它仍然存在相同的内容和属性。

您不应该使用$('#Update_Window').empty();,因为这会释放DOM而不是Kendo Window,因此会导致内存泄漏。而不是那样,使用:destroy

$('#Update_Window').data("kendoWindow").destroy();

无论如何,我的建议不是创建和破坏Windows,因为这会对性能产生一些影响,你应该尝试重用它。