Session lost while opening Rad/Modal window from Another Rad/Modal window

8 posts, 0 answers
  1. Archana
    Archana avatar
    17 posts
    Member since:
    Jun 2011

    Posted 10 Aug 2011 Link to this post

    Hi,

    In my application I want to open a Rad/Modal window from normal aspx page. This works fine and I can even get the Session.
    But when I open another Rad/Modal window from the this new Rad/Modal window it starts a new Session.
    I'm using same code to open both windows thats given below:

     

     

    function ShowRadForm(ID) {
      
    window.radopen("../RadWin1.aspx?ID=" + ID, "radDialog");
      
    return false;
      
    }
      
      
      
    <telerik:RadWindowManager ID="RadWindowManager1" runat="server" AutoSize="true">
      
      
    <Windows>
      
      
    <telerik:RadWindow ID="radDialog" runat="server" Title="Edit"
      
      
    Height="550px" Width="900px" ReloadOnShow="true" ShowContentDuringLoad="false"
      
      
    OnClientClose="OnClientClose" Modal="true" Style="z-index: 7001" />
      
      
    </Windows>
      
      
    </telerik:RadWindowManager>

    How can I get Session in radDialog?

     

  2. Marin Bratanov
    Admin
    Marin Bratanov avatar
    5243 posts

    Posted 11 Aug 2011 Link to this post

    Hi Archana,

    The Session object is a server-side object and there is no way to retrieve it on the client, except for populating a hidden fiels/label/textbox/etc server control with the desired value on the server. As for a new session being created when you open a RadWindow - this is controlled by the framework and we have no control over it. If the user has been idle long enough and requests a new page (i.e. opens it in a RadWindow or in a browser window) a new session will be created. Please examine the following MSDN articles for more information on the subject:
    http://msdn.microsoft.com/en-us/library/ms178581.aspx
    http://msdn.microsoft.com/en-us/library/ms524319(v=vs.90).aspx
    http://msdn.microsoft.com/en-us/library/ms972429.aspx
    http://msdn.microsoft.com/en-us/magazine/cc301579.aspx


    Kind regards,
    Marin
    the Telerik team

    Browse the vast support resources we have to jump start your development with RadControls for ASP.NET AJAX. See how to integrate our AJAX controls seamlessly in SharePoint 2007/2010 visiting our common SharePoint portal.

  3. Archana
    Archana avatar
    17 posts
    Member since:
    Jun 2011

    Posted 11 Aug 2011 Link to this post

    When I searched for it I found solution in following link:

    http://support.microsoft.com/kb/831678

    But how can we apply it to RadWindow?


  4. Marin Bratanov
    Admin
    Marin Bratanov avatar
    5243 posts

    Posted 16 Aug 2011 Link to this post

    Hello Archana,

    The scenario described in this link is related to the built-in browser dialogs and explains the case where a new system process is started for the new browser window. The RadWIndow, however, is actually a server control, thus it "lives" in the ASPX page only, i.e. it is limited to its own browser window/tab and cannot run another process.

      What I can advise at this point is that you either discover some way of checking for session integrity (or simply extend the session by using simple callbacks through a large enough interval to keep the session alive) in different pages loaded in iframes (as this is actually what the RadWindow is), or use regular browser windows/dialogs if you can work around your issue with them.


    Best wishes,
    Marin
    the Telerik team

    Browse the vast support resources we have to jump start your development with RadControls for ASP.NET AJAX. See how to integrate our AJAX controls seamlessly in SharePoint 2007/2010 visiting our common SharePoint portal.

  5. Jeffrey
    Jeffrey avatar
    7 posts
    Member since:
    Nov 2019

    Posted 20 Nov 2019 Link to this post

    I have a different issue. When I open a Rad/Modal window from normal aspx page I lose the session stqte from the aspx page. Any suggestions?
  6. Rumen
    Admin
    Rumen avatar
    14275 posts

    Posted 25 Nov 2019 Link to this post

    Hi Jeffrey,

    As explained by Marin, RadWindow does not alter or resets the session. 

    Can you please provide more information :

    • A live URL or a sample reproduction project
    • What are the steps to reproduce the issue
    • Are there any errors (JS or server ones)?
    • How RadWindow is configured: does it use ContentTemplate or NavigateUrl?
    • Is it possible that the session has expired and the RadWindows iframe navigates your users to the logic page?

      If this is the case,  you can use a RadAjaxPanel control and its API in order to achieve the desired result. These are the exact steps:
      • Add a RadAjaxPanel and attach a handler to its OnAjaxRequest event:

        <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" OnAjaxRequest="RadAjaxPanel1_AjaxRequest">
        </telerik:RadAjaxPanel>

      • In the attached handler refresh the needed Session variables:

        protected void RadAjaxPanel1_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e)
        {
            // Refresh Session
        }

      • Attach a JavaScript handler to the onclick client-side event handled. The target elemet is the document object. In that handler call the RadAjaxPanel ajaxRequest client-side method:

        <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
            <script type="text/javascript">
                function refreshSession()
                {
                    var ajaxPanel = $find("<%= RadAjaxPanel1.ClientID %>");
                    ajaxPanel.ajaxRequest();
                }
         
                Sys.Application.add_load(function()
                {
                    $addHandler(document, "click", refreshSession);
                });
            </script>
        </telerik:RadCodeBlock>

        The provided code should be added in the page that is opened in RadWindow. The code ensures that the Session will be refreshed every time when the user clicks somewhere on the page.

     

    Best Regards,
    Rumen
    Progress Telerik

    Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
  7. Jeffrey
    Jeffrey avatar
    7 posts
    Member since:
    Nov 2019

    Posted 26 Nov 2019 in reply to Rumen Link to this post

    1. I set a session variable in Form1.aspx:
    Session["MyExternalUsersOnly"] = DataTable

    2. Here is my RadWindow that I call in Form1.aspx:
    <telerik:RadWindowManager ID="RadWindowManager1" runat="server" EnableShadow="true">
            <Windows>
                <telerik:RadWindow ID="UserListDialog" runat="server" Title="External User Details"
                    Height="550px" Width="500px" Left="150px" ReloadOnShow="true" ShowContentDuringLoad="false"
                    AutoSize="false" BackColor="White" Modal="true" />
            </Windows>
        </telerik:RadWindowManager>

    3. Here is the java code that gets fired on button click event on Form1.aspx to launch Form2.aspx:
    function ShowDetailsForm(id, rowIndex) {
                    var grid = $find("<%= RadGridExternalUsers.ClientID %>");
                    var rowControl = grid.get_masterTableView().get_dataItems()[rowIndex].get_element();
                    grid.get_masterTableView().selectItem(rowControl, true);
                    window.radopen("Form2.aspx?Id=" + id, "UserListDialog", outerWidth = "500px", outerHeight= "500px");
                    return false;

    4. When I close form2.aspx and try to reference Session["MyExternalUsersOnly"] in code behind on Form1.aspx
    it returns null




  8. Rumen
    Admin
    Rumen avatar
    14275 posts

    Posted 29 Nov 2019 Link to this post

    Hi Jeffrey,

    Can you please test the same scenario with a standard iframe HTML element as explained in the General Troubleshooting article? This will show whether the problem is related to RadWindow or not (since you will be able to or not reproduce it with an iframe instead of iframe based RadWindow).


    We also noticed that wrong arguments are passed to radopen. Please see this article for more information: Using radopen and GetRadWindowManager().open.

    It is likely that Form2 does something to reset the session variable, not the RadWindow. Or, it may be code on Form1 that resets the variable, we don't know when and how they execute those snippets. To investigate this further, please open a support ticket and provide a runnable sample which demonstrates the problem.

    Best Regards,
    Rumen
    Progress Telerik

    Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
Back to Top