I open a RadWindow where the user provides data and then presses an OK button. On postback, the data is processed and a status is generated. I'm trying to show that status via a notification popup on the main page that opened the window.
I modified this example for my purposes so that I can pass the result back: http://www.telerik.com/forums/refresh-radgrid-on-close-of-radwindow
The problem is that the AjaxRequest event fires before the OK button click and so the status is unknown at this point. Is there another scenario I can use to pass a value back server side?
I modified this example for my purposes so that I can pass the result back: http://www.telerik.com/forums/refresh-radgrid-on-close-of-radwindow
The problem is that the AjaxRequest event fires before the OK button click and so the status is unknown at this point. Is there another scenario I can use to pass a value back server side?
4 Answers, 1 is accepted
0
Shinu
Top achievements
Rank 2
answered on 28 Aug 2014, 05:40 AM
Hi Jon,
Please have a look into the sample code snippet which works fine at my end.
ASPX:
C#:
Please elaborate your requirement if it doesn't help.
Thanks,
Shinu.
Please have a look into the sample code snippet which works fine at my end.
ASPX:
<telerik:RadButton ID="rbtnOpenWin" runat="server" Text="Open"></telerik:RadButton><asp:Label ID="lblNewValue" runat="server"></asp:Label><telerik:RadWindow ID="rwindow" runat="server" OpenerElementID="rbtnOpenWin"> <ContentTemplate> <asp:TextBox ID="txtValue" runat="server"> </asp:TextBox> <asp:Button ID="btnOk" runat="server" Text="OK" OnClick="btnOk_Click" /> </ContentTemplate></telerik:RadWindow>C#:
protected void btnOk_Click(object sender, EventArgs e){ lblNewValue.Text = txtValue.Text;}Please elaborate your requirement if it doesn't help.
Thanks,
Shinu.
0
Jon
Top achievements
Rank 1
answered on 28 Aug 2014, 07:45 AM
I'm trying to pass a value back to the main window and so I modified the code in the example I sited. So the basic flow of events is:
* RadWindow opens
* User enters data and pushes OK which causes a PostBack and the window closes.
* The window's OK button event produces the value that is then passed back which drives a Notification popup and what the AjaxManager causes to update.
According to the code in the example I sited, I added this javascript and added OnClientClose="closeRadWindow" to the RadWindow.
I'm then using the AjaxManager to drive the notification popup. The problem is that ajaxRequest fires before OKButton_Click. Is there another way for me to pass a value back to the main window after the OK button has finished processing and force the window to fire an event?
* RadWindow opens
* User enters data and pushes OK which causes a PostBack and the window closes.
* The window's OK button event produces the value that is then passed back which drives a Notification popup and what the AjaxManager causes to update.
According to the code in the example I sited, I added this javascript and added OnClientClose="closeRadWindow" to the RadWindow.
<script type="text/javascript"><br>
function closeRadWindow() {
$find("<%= RadAjaxManager1.ClientID %>").ajaxRequest();
}
</script>I'm then using the AjaxManager to drive the notification popup. The problem is that ajaxRequest fires before OKButton_Click. Is there another way for me to pass a value back to the main window after the OK button has finished processing and force the window to fire an event?
0
Jon
Top achievements
Rank 1
answered on 28 Aug 2014, 08:02 AM
Ok...I see the real problem. The window being opened is actually another page and so the controls and events are separated. Is there a way to do it with the structure I have or do I need to move the controls on the other page into the window control?
0
Shinu
Top achievements
Rank 2
answered on 29 Aug 2014, 05:10 AM
Hi Jon,
Please have a look into the sample code snippet to achieve your scenario.
Main Page ASPX:
Main Page JavaScript:
Window Page ASPX:
Window Page JavaScript:
Thanks,
Shinu.
Please have a look into the sample code snippet to achieve your scenario.
Main Page ASPX:
<telerik:RadTextBox ID="txtValueFromWindow" runat="server"></telerik:RadTextBox><telerik:RadButton ID="rbtnOpenWin" runat="server" Text="Open" AutoPostBack="false" OnClientClicked="openWindow"></telerik:RadButton><telerik:RadWindowManager ID="RadWindowManager1" runat="server" OnClientClose="OnClientClose"></telerik:RadWindowManager>Main Page JavaScript:
function openWindow() { radopen("WindoePage.aspx");}function OnClientClose(oWnd, args) { var arg = args.get_argument(); if (arg) { var txtValue = arg.txtValue; $find("<%=txtValueFromWindow.ClientID%>").set_value(txtValue); }}Window Page ASPX:
<telerik:RadTextBox ID="txtValue" runat="server"></telerik:RadTextBox><telerik:RadButton ID="rbtnOk" runat="server" Text="OK" AutoPostBack="false" OnClientClicked="returnToParent"></telerik:RadButton>Window Page JavaScript:
function returnToParent() { var oArg = new Object(); oArg.txtValue = $find("<%=txtValue.ClientID %>").get_value(); var oWnd = GetRadWindow(); if (oArg.txtValue) { oWnd.close(oArg); }}function GetRadWindow() { var oWindow = null; if (window.radWindow) oWindow = window.radWindow; else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow; return oWindow;}Thanks,
Shinu.