I have a page contains a RadAjaxPanel and a RadWindowManager. The RadAjaxPanel contains a button (call Edit) to open a modal window to allow user to edit some data. I want the RadAjaxPanel to refresh after the user click on the save button in the popup window.
I have three problems:
- When I click on the Edit button, the RadAjaxPanel always refresh before showing the window. How can I prevent this?
- I cannot re-open the popup window anymore by clicking on the Edit button after I close the previous popup window (either by click the Save button or the X button).
- If I put the RadWindowManager inside the RadAjaxPanel then the popup window automatically closed right after click on the Edit button.
Thank you,
Vincent
Parent Page:
<script type="text/javascript" language="javascript">
function CallBackFunction(radWindow, returnValue)
{
var ajaxPanel = $find( "<%=rapPanel.ClientID %>" );
ajaxPanel.ajaxRequest("");
}
</script>
<asp:ScriptManager runat="server" ID="scriptMgr" />
<telerik:RadAjaxPanel runat="server" ID="rapPanel">
<asp:TextBox ID="txt1" runat="server" />
<asp:Button ID="btnEdit" runat="server" Text="Edit" />
</telerik:RadAjaxPanel>
<telerik:RadWindowManager ID="RadWindowManager1" runat="server">
<Windows>
<telerik:RadWindow ID="radWin1" runat="server"
OpenerElementID="<%#btnEdit.ClientID %>"
NavigateUrl="~/Popup.aspx"
Modal="true" ReloadOnShow="true"
ClientCallBackFunction="CallBackFunction">
</telerik:RadWindow>
</Windows>
</telerik:RadWindowManager>
==========================================
Popup.aspx
<
script type="text/javascript" language="javascript">
function GetRadWindow()
{
var oWindow = null;
if (window.radWindow)
oWindow = window.radWindow;
else if (window.frameElement.radWindow)
oWindow = window.frameElement.radWindow;
return oWindow;
}
</script>
<asp:TextBox ID="txt1" runat="server" />
<asp:TextBox ID="TextBox1" runat="server" />
<br />
<asp:Button ID="btnOK" Text="Save" runat="server" onclick="btnOK_Click" />
<asp:Button ID="btnCancel" Text="Cancel" runat="server" OnClientClick="GetRadWindow().close(); return false;" />