How to close the radwindow on serverside and refresh the parent page

asp.net, c#, javascript, radwindow, telerik

Solution

As you said, you want to close from code behind. So you can render `Page.ClientScript.RegisterClientScriptBlock(GetType(), "CloseScript", "refreshParentPage()", true);` from code behind to refresh the parent.

Just add the following code and script in Child Page. No code is needed in parent page.

<script>         
    function getRadWindow() {
        var oWindow = null;
        if (window.radWindow)
            oWindow = window.radWindow;
        else if (window.frameElement.radWindow)
            oWindow = window.frameElement.radWindow;
        return oWindow;
    }

    // Reload parent page
    function refreshParentPage() {
        getRadWindow().BrowserWindow.location.reload();
    }
</script>

<asp:Button runat="server" Text="Close" ID="CloseButton" 
    OnClick="CloseButton_Click"/>

protected void CloseButton_Click(object sender, EventArgs e)
{
    Page.ClientScript.RegisterClientScriptBlock(GetType(), 
        "CloseScript", "refreshParentPage()", true);
}

Update:

// Redirect page page to url
function redirectParentPage(url) {
    getRadWindow().BrowserWindow.document.location.href = url;
}

// Code behind
Page.ClientScript.RegisterClientScriptBlock(GetType(), 
"CloseScript", "redirectParentPage('Parent.aspx')", true);

Problem

I want to close the RadWindow and refresh the parent : how to do this server side : I have the following case: Two pages say : parent.aspx : ``` <telerik:RadWindowManager ID="RadWindowManager1" runat="server" EnableViewState ="false"> </telerik:RadWindowManager> ``` and parent.cs ``` protected void OpenNewWindow(string url, int width, int height,int mode) { RadWindow newWindow = new RadWindow(); newWindow.NavigateUrl = url; newWindow.VisibleOnPageLoad = true; newWindow.KeepInScreenBounds = true; if (width > 0) { newWindow.Width = width; } if (height > 0) { newWindow.Height = height; } newWindow.VisibleStatusbar = false; if (mode == 0) { newWindow.DestroyOnClose = true; newWindow.InitialBehaviors = WindowBehaviors.Maximize; } RadWindowManager1.Windows.Add(newWindow); } ``` i call this method in the rowcommand of some gridview on my parentpage : like this : ``` OpenNewWindow("child.aspx", 0, 0,0); ``` Now i want on the server side click event of some button on the `child` page to close the rad window and refresh the parent one how to do this ??

Original source