在telerik radwindow中打开子窗口

时间:2012-01-11 17:20:44

标签: asp.net telerik radwindow

我想在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");
            }

3 个答案:

答案 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);
    }