我想在telerik中打开一个孩子RadWindow:带有客户端脚本的RadWindow,我使用了“radopen”,它显示了一个窗口但不完全具有与我配置的相同属性和url。 我的父RadWindow还存在于UserControl中的另一件事
这是我的代码:
<telerik:RadWindowManager ID="RadWindowManagerCustomValue" Style="overflow: hidden"
ShowContentDuringLoad="false" VisibleStatusbar="false" ReloadOnShow="True" IconUrl=""
DestroyOnClose="true" Modal="true" Height="390" Width="600" runat="server" OnClientClose="closeRadWindow"
EnableShadow="true" Title="Add/Edit Agreement Type">
<Windows>
<telerik:RadWindow ID="AddCompanyDialog" ShowContentDuringLoad="false" runat="server"
Title="Add Company" InitialBehaviors="Maximize" Behaviors="Close" NavigateUrl="somePage.aspx" />
</Windows>
</telerik:RadWindowManager>
function LoadCompanyPopup(sender, args) {
radopen(null, "AddCompanyDialog");
}
答案 0 :(得分:1)
实际上使用JavaScript是与Telerik的RadWindow一起使用的方法。它仅在客户端呈现,因此在服务器上使用它通常由injecting scripts完成。从服务器打开它时,请查看this thread
在原始海报上 - 看看这些文章 - opening a RadWindow from within a RadWindow正确地打开第二个RadWindow(因此它不限于第一个)和using multiple managers上错误的URL - 很可能你在页面上有多个RadWindowManager,你在其中调用radopen()。
答案 1 :(得分:0)
使用这个简单的Javascript代码打开窗口:
function LoadCompanyPopup()
{ var myWindow=window.radopen(null, "AddCompanyDialog"); }
此外,在您的telerik:RadWindow标记上,将您的NavigateUrl属性值从“somePage.aspx”更改为“./somePage.aspx”(以确保指向您的aspx页面的路径)。
答案 2 :(得分:-1)
我的记忆有点模糊,因为距离Telerik控件已经过了几个月......但有些事情告诉我,使用javascript在窗口中打开一个窗口很难/不可能。
我为此场景编写的代码使用
打开了带有.NET代码隐藏的窗口radWindow.VisibleOnPageLoad = True
按钮的onClick
事件
编辑:
我错了!正如rdmptn在下面指出的那样。我在窗口内打开一个窗口的示例javascript代码:
function closeWin() {
GetRadWindow().close();
}
function GetRadWindow() {
var oWindow = null; if (window.radWindow)
oWindow = window.radWindow; else if (window.frameElement.radWindow)
oWindow = window.frameElement.radWindow; return oWindow;
}
function ConfirmResult(sender, args) {
var ajaxManager = $find("radAjaxManager");
ajaxManager.ajaxRequest(args._argument);
if (args._argument == "confirm")
closeWin();
}
function OpenConfirmDialog() {
var window = GetRadWindow().get_windowManager().getWindowByName("DeleteConfirmPopup");
window.show();
window.add_close(ConfirmResult);
setTimeout(function () { window.set_modal(true); }, 0);
}