This is a migrated thread and some comments may be shown as answers.

Trouble closing window opened in another window

1 Answer 53 Views
Window
This is a migrated thread and some comments may be shown as answers.
Dana Cobb
Top achievements
Rank 1
Iron
Dana Cobb asked on 04 Nov 2012, 05:23 AM
I have an asp.net form that opens a radwindow which has a navigateUrl of another asp.net form. I will call this "window1". Next I want to open a second window from window 1, called "window2". All this works great. My problem is that I want to close "window2" without closing window1 ! I have tried numerous examples from the forum, but cannot seem to get it working. When it does anything at all it closes both window1 and window2...Now for some code that I am using...
Code that opens window1:
Dim script As String = "function f(){$find(""" + Me.daypopupwindow.ClientID + """).show(); Sys.Application.remove_load(f);}Sys.Application.add_load(f);"
        ScriptManager.RegisterStartupScript(Page, Page.GetType(), "key", script, True)

code that opens window2:
function openAddWindow() {              
                  var oBrowserWnd = getRadWindow().BrowserWindow;
                setTimeout(function () {
                    oBrowserWnd.radopen(null, "jobpopupwindow");
                }, 0);
                }

Currently I am trying to close window2 with an html button calling a javascript function, but ideally it would be called from the code-behind.
If I use this function it closes both windows:
function closeActiveWindow() {
                var oWin = getParentRadWindow();
                oWin.close();
            }
If I use this code, I get a "GetRadWindowManager()undefined" error
function closeThisWindow() {
               var omanager = GetRadWindowManager();
               var ownd = omanager.getWindowByName("jobpopupwindow");
               ownd.close();              
           }

Please help. I have tried so many things. It seems that geting a reference to the RadWindowManager on the first main page, then referencing a particular window and then calling close makes the most "sense", but I can't seem to get the reference to the manager from window2.


Dana

1 Answer, 1 is accepted

Sort by
0
Marin Bratanov
Telerik team
answered on 06 Nov 2012, 02:47 PM
Hello Dana,

Closing a RadWindow from the page loaded inside is shown in this online demo: http://demos.telerik.com/aspnet-ajax/window/examples/contenttemplatevsnavigateurl/defaultcs.aspx. Take a look at the second one that loads a page and at the page itself - Dialog1.aspx. It shows the two JavaScript functions that close it upon a button click. You can use the same approach and call the function from the code-behind instead: http://www.telerik.com/help/aspnet-ajax/window-troubleshooting-javascript-from-server-side.html (you would not need the Sys.Application.Load event in this case).

I am not sure what your getParentRadWindow() function does, but if you want to close it through its parent manager you can use its API - call a function on the main page (http://www.telerik.com/help/aspnet-ajax/window-programming-calling-functions.html), get a reference to the manager and use its own API (http://www.telerik.com/help/aspnet-ajax/window-programming-radwindowmanager-methods.html) - getWindowByName() and then close() it. What it seems is that right now you call the closeAll() method of the RadWIndowManager or perform a postback that disposes the RadWindows.


All the best,
Marin Bratanov
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
Tags
Window
Asked by
Dana Cobb
Top achievements
Rank 1
Iron
Answers by
Marin Bratanov
Telerik team
Share this question
or