2012-01-11 88 views
0

我想打开一个带有客户端脚本的telerik:RadWindow中的RadWindow,我使用了“radopen”,它显示一个窗口,但不完全具有与我配置相同的属性和url。 还有一件事我父母RadWindow是存在于一个用户控件在telerik radwindow中打开子窗口

这是我的代码:

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

回答

-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); 
    } 
+0

这简直是不正确的,同样使用代码隐藏将允许您只访问在第一个RadWindow中加载的页面中声明的RadWindow。当您需要在此页面之外打开它时,您需要使用JavaScript通过框架树访问父页面。 – rdmptn 2012-01-13 12:07:25

+0

啊哈......的确我错了。我看着我的项目方式太快了。它确实使用JavaScript和它的处理程序来处理在Windows中打开窗口。 在评估Telerik时,我还在与其他库一起搞乱,所以很可能会误以为我和其他产品有一些抱怨。 – Zhais 2012-01-17 17:12:45

1

实际上,使用JavaScript是使用Telerik的RadWindow的方式。它仅在客户端呈现,因此在服务器上使用它通常由injecting scripts完成。在this thread从服务器

打开它在原来的海报看看 - 看看这些文章 - opening a RadWindow from within a RadWindow上正常打开第二RadWindow(所以没有在第一限制),并在using multiple managers上错你得到的URL - 很可能你在页面上有多个RadWindowManager,在这个页面中你调用了radopen()。

0

使用这个简单的Javascript代码在打开的窗口:

function LoadCompanyPopup() 
{ var myWindow=window.radopen(null, "AddCompanyDialog"); } 

此外,您Telerik的:RadWindow标签,改变你的NavigateUrl从 “SomePage.aspx页面” 到 “./somePage.aspx”(属性值以确保您的aspx页面的路径位于)。