使用 RadWindowManager 是为页面上的多个窗口声明公共属性的一种简便方法。您可以在 RadWindowManager 中声明多个 RadWindow 控件,然后通过以下函数访问窗口集合:
var windowManager = $find('<%= MyRadWindowManager.ClientID %>'),
windows = windowManager.get_windows(),
wnd,
i = 0;
for (; i < windows.length; i++) {
wnd = windows[i];
// do something with the RadWindow object
}
注意不要调用 RadWindow 变量“window”,因为它会与全局window
对象冲突。
如果你想要一个特定的 RadWindow 对象,你可以使用下面的代码:
var windowManager = $find('<%= MyRadWindowManager.ClientID %>'),
wnd = windowManager.getWindowByName("MyWindow");
// do something with the RadWindow object
或者,我更喜欢在我的母版页中定义一个单独的 RadWindowManager,没有定义任何窗口,然后简单地使用它来根据需要动态打开窗口。这是一个例子:
<telerik:RadWindowManager ID="MasterWindowManager" runat="server"
VisibleOnPageLoad="false"
VisibleStatusbar="false"
Behaviors="Close, Move"
DestroyOnClose="true" >
</telerik:RadWindowManager>
在您的 Page 上定义一个 RadWindowManager 将向radopen
全局window
对象添加一个函数。您可以根据需要使用它来动态打开新的 RadWindows...
var showCustomerDetails = function (customerId) {
var url = String.format("/Views/CustomerDetails.aspx?cid={0}", customerId),
wnd = window.radopen(url);
wnd.set_modal(true);
wnd.setSize(600, 400);
wnd.show();
wnd.center();
}
我希望这会有所帮助。