剑道窗口关闭不清楚吗?

0 asp.net-mvc kendo-ui kendo-asp.net-mvc

我有一个使用kendoWindow打开弹出窗口的链接.每次我关闭弹出窗口并再次重新打开(从另一个链接),第一个的值根本不会清除.仅供参考,此kendo弹出窗口可重复使用.

例如:我有2个链接.链接A和链接B.

此链接将使用参数从控制器调用ActionResult.

链接A将生成text ='AAAAAAAAAAAAAA',而链接B将生成text ='BBBBBBBBBBB'

//In controller:
public ActionResult Caller(string param)
{
    ViewModel viewModel = new ViewModel(); //This is a class that store a string.
    if(param == "A")
    {
        viewModel.Result = "AAAAAAAAAAAAAA";
    }
    else
    {
        viewModel.Result = "BBBBBBBBBBB";
    }
    return View(viewModel);
}
Run Code Online (Sandbox Code Playgroud)

所以流程是:1.单击链接A.它将打开弹出窗口,其值为= AAAAAAAAAAAAAA.2.关闭弹出窗口.3.重新打开Link B的弹出窗口.有一段时间,它将保留AAAAAAAAAAAAAA,之后(可能大约需要2秒)它将变为BBBBBBBBBBB.

如果在连接速度较慢的情况下,将AAAAAAAAAAAAAA更改为BBBBBBBBBBB需要一些时间.

我的问题是:为什么弹出窗口不会弹出空白(它仍然在布局上保存旧值)?

维拉,提前谢谢

Lar*_*ner 8

布雷特的解释是正确的.在某些情况下,您只想再次显示相同的内容,因此保持内容是"收敛"行为.如果Kendo Window每次关闭时都会删除所有内容,那么每次要再次显示时,都必须重新填充内容.当用户知道他不再需要内容时,这比使用户明确地清空内容效率低.

在您的情况下,您只需使用close事件清空窗口(演示):

$("#myWindow").kendoWindow({
    width: "300px",
    close: function (e) {
        $(this.element).empty();
    }
});
Run Code Online (Sandbox Code Playgroud)

另一种方法是销毁窗口并创建一个新窗口.