As the title says, I need to open a RadWindow with a customised URL, which is generated server-side. How is this possible?
On the old RadWindow (pre-Promoetheous) I would create a Panel and inject JavaScript in it to call the Open() method client-side, but this doesn't seem to work anymore.
At the moment, I have:
|
<asp:Panel ID="pnlJavascriptInjector" runat="server" /> |
|
|
|
|
|
<telerik:RadWindowManager ID="radWindowManager" runat="server" Skin="Vista"> |
|
<Windows> |
|
<telerik:radwindow runat="server" ID="radWindowReport" |
|
VisibleOnPageLoad = "false" |
|
NavigateUrl = "Report.aspx" |
|
Title = "Import Media Codes" |
|
Height="80%" |
|
Width ="80%" |
|
|
|
Behaviors="Reload,Resize,Maximize,Minimize,Close,Move,Pin" Modal="false" |
|
|
|
> |
|
</telerik:radwindow> |
|
</Windows> |
|
</telerik:RadWindowManager> |
(notice my attemp to have JavaScript injection going on).
Note that this is within an AJAX environment. I do have an AjaxManager:
|
<telerik:RadAjaxManager ID="radAjaxManager" runat="server"> |
|
<AjaxSettings> |
|
<telerik:AjaxSetting AjaxControlID="radFolderTreeView" EventName="NodeClick"> |
|
<UpdatedControls> |
|
<telerik:AjaxUpdatedControl ControlID="h1ReportName" LoadingPanelID="" /> |
|
<telerik:AjaxUpdatedControl ControlID="pReportDescription" LoadingPanelID="radAjaxLoadingPanel" /> |
|
<telerik:AjaxUpdatedControl ControlID="pnlReportParameters" LoadingPanelID="" /> |
|
<telerik:AjaxUpdatedControl ControlID="pnlReportButtons" LoadingPanelID="" /> |
|
<telerik:AjaxUpdatedControl ControlID="pnlJavaScriptInjector" LoadingPanelID="" /> |
|
<telerik:AjaxUpdatedControl ControlID="radWindowManager" LoadingPanelID="" /> |
|
</UpdatedControls> |
|
</telerik:AjaxSetting> |
|
</AjaxSettings> |
|
</telerik:RadAjaxManager> |
|
<telerik:RadAjaxLoadingPanel ID="radAjaxLoadingPanel" runat="server" Height="75px" |
|
Width="75px"> |
|
<img alt="Loading..." src='<%= RadAjaxLoadingPanel.GetWebResourceUrl(Page, "Telerik.Web.UI.Skins.Default.Ajax.loading.gif") %>' |
|
style="border: 0px;" /> |
|
</telerik:RadAjaxLoadingPanel> |
My code-behind is:
|
|
|
/* |
|
pnlJavaScriptInjector.Controls.Clear();0 |
|
|
|
StringBuilder sb = new StringBuilder(); |
|
sb.Append("\n"); |
|
sb.Append("<script type=\"text/javascript\">\n"); |
|
sb.Append("var oWnd = $find(\"" + radWindowReport.ClientID + "\");\n"); |
|
sb.Append("oWnd.setUrl('" + url + "');\n"); |
|
sb.Append("oWnd.show(); \n"); |
|
sb.Append("</script>\n"); |
|
sb.Append("\n"); |
|
pnlJavaScriptInjector.Controls.Add(new LiteralControl(sb.ToString())); |
|
*/ |
|
|
|
RadWindow radWindow = radWindowManager.Windows[0]; |
|
radWindow.NavigateUrl = url; |
|
radWindow.OpenerElementID = button.ClientID; |
You'll notice I've tried all sorts of ways of doing this!
Any help appreciated.