我有一个类似于这个的条件结构:
What is the proper way to load new content into a kendo window?
如果已存在kendo窗口,请刷新()窗口而不是重新创建窗口。
不同之处在于,我正在使用带有网址的iframe。
问题:我在调用refresh()之前使用setOptions设置了不同的查询字符串,但是再次从服务器请求原始 URL。
if (!kwindow) {
kwindow = $("#messagewindow").kendoWindow({
iframe: true,
width: "400px",
height: "600px",
title: "original title",
content: "foo.htm?id=1",
type: "GET"
}).data("kendoWindow");
}else {
kwindow.setOptions({
iframe: true,
type: "GET",
title: aDifferentTitle,
url : "foo.htm?id=2"
});
kwindow.refresh();
}
kwindow.open();
我知道 setOptions 方法正在将选项传递到kendo窗口,因为窗口的标题栏正确显示了 aDifferentTitle 。但是,查看网络流量监视器时,服务器请求的网址为foo.htm?id=1
,但应为foo.htm?id=2
。
我看不出我的代码有什么问题,如果有人可以向我指出错误,我将不胜感激。
答案 0 :(得分:1)
您正在寻找的答案是
kwindow.options.content.url = url;
然后刷新图标/方法将适用于新网址
答案 1 :(得分:0)
要从不同的URL刷新,您需要通过选项对象将其传递给刷新方法(您不需要使用setOptions)。以下是documentation:
的摘录var windowObject = $("#window").data("kendoWindow");
windowObject.refresh("/feedbackForm");
windowObject.refresh({
url: "/feedbackForm"
});
答案 2 :(得分:0)
我使用了以下内容,它似乎适用于MVC项目:
window.setOptions({
title: "New Title"
});
window.refresh({
url: "/ControllerName/Action"
});
window.open();