LoadingPanel inside a tabstrip problem

3 posts, 0 answers
  1. Orlando
    Orlando avatar
    5 posts
    Member since:
    Jun 2011

    Posted 11 May 2012 Link to this post

    Hello, i have a radTabStrip with a radmultipage (and radpageview) inside. I put the radajaxmanager for show the loadingpanel when the page inside of the multipage loading but, the loading panel only appear a few second and hide when the page still does not load completely.


    Here's my code...

    TTabStrip.ascx 

    <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="TTabStrip.ascx.cs" Inherits="OmegaWeb.WebControls.Seguridad.TTabStrip" %>
    <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
    <telerik:RadAjaxLoadingPanel runat="server" ID="LoadingPanel1" Height="75px" Width="75px">
    </telerik:RadAjaxLoadingPanel>
    <telerik:RadTabStrip ID="RadTabStrip1" SelectedIndex="0"
        CssClass="tabStrip" runat="server" MultiPageID="RadMultiPage1" Skin="Default"
        AutoPostBack="true" ShowBaseLine="True"
        ClickSelectedTab="True" ontabclick="RadTabStrip1_TabClick" >
    </telerik:RadTabStrip>
    <telerik:RadAjaxManager runat="server" ID="RadAjaxManagerProxy1">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="RadTabStrip1">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RadTabStrip1" />
                    <telerik:AjaxUpdatedControl ControlID="RadMultiPage1" LoadingPanelID="LoadingPanel1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="RadMultiPage1">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RadTabStrip1" />
                    <telerik:AjaxUpdatedControl ControlID="RadMultiPage1" LoadingPanelID="LoadingPanel1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>
    <telerik:RadMultiPage ID="RadMultiPage1" runat="server" SelectedIndex="0" EnableEmbeddedScripts="true">
        <telerik:RadPageView ID="RadPageView1" runat="server">
        </telerik:RadPageView>
    </telerik:RadMultiPage>

    CODE BEHIND
    public partial class TTabStrip : System.Web.UI.UserControl
       {
           protected void Page_Load(object sender, System.EventArgs e)
           {
               if (!Page.IsPostBack)
               {
                   DrillDownModel drillDown = GenericController<DrillDownModel>.Current;
                   List<TabStripModel> tabs = SecurityInfo.GetTabStripsUsuario(drillDown);
     
                   if (!SecurityInfo.HasAccessToDrillDown(drillDown))
                   {
                       NotifyNoAccess(drillDown);
                       Server.Transfer("/NoAccessPage.aspx", false);
                       return;
                   }
     
                   tabs.ForEach(tab => AddTab(tab.Texto, tab.TargetDrillDownId == 0 ? tab.URL :
                       string.Format("/WebForms/DrillDown/DrillDownRedirect.aspx?TS={0}", tab.Id)));
                   setPersistTab();
                   
               }
     
           }
     
           private void setPersistTab()
           {
               string sessionTabId = string.Format("DrillDown_{0}", GenericController<DrillDownModel>.CurrentId);
               string tabName;
               if (HttpContext.Current.Session[sessionTabId] != null)
               {
                   tabName = HttpContext.Current.Session[sessionTabId].ToString();
                   RadTab tab = RadTabStrip1.FindTabByText(tabName);
                   if (tab != null)
                   {
                       tab.Selected = true;
                       RadPageView1.ContentUrl = tab.Value;
                   }
               }
               else
               {
                   RadTab tab = RadTabStrip1.Tabs.FirstOrDefault();
                   if (tab != null)
                   {
                       tab.Selected = true;
                       RadPageView1.ContentUrl = tab.Value;
                   }
               }
     
           }
     
           private void AddTab(string tabName, string tabValue)
           {
               RadTab tab = new RadTab(tabName, tabValue);
               RadTabStrip1.Tabs.Add(tab);
           }
     
           private void NotifyNoAccess(DrillDownModel drilldown)
           {
               MailMessage mail = new MailMessage();
               mail.From = new MailAddress("Omega@uai.cl");
               mail.To.Add(ConfigurationManager.AppSettings["Omega Team"]);
               mail.Subject = "Acceso DrillDown - Omega";
               mail.IsBodyHtml = false;
               StringBuilder body = new StringBuilder();
               body.AppendLine(string.Format("DrillDownId:{0}", drilldown.Id));
               body.AppendLine(string.Format("Nombre DrillDown:{0}", drilldown.Titulo));
               body.AppendLine(string.Format("UsuarioId: {0}", SecurityInfo.LoginUser.Id));
               body.AppendLine(string.Format("Usuario: {0}", SecurityInfo.LoginUser.GetPersonaRef()._ApellidosNombre));
               body.AppendLine(string.Format("AUTH_USER: {0}", Request.ServerVariables["AUTH_USER"]));
               body.AppendLine(string.Format("LOGON_USER: {0}", Request.ServerVariables["LOGON_USER"]));
               body.AppendLine(string.Format("REMOTE_USER: {0}", Request.ServerVariables["REMOTE_USER"]));
               body.AppendLine(string.Format("REMOTE_ADDR: {0}", Request.ServerVariables["REMOTE_ADDR"]));
               body.AppendLine(string.Format("REMOTE_HOST: {0}", Request.ServerVariables["REMOTE_HOST"]));
               body.AppendLine(string.Format("SERVER_NAME: {0}", Request.ServerVariables["SERVER_NAME"]));
     
               mail.Body = body.ToString();
     
               SmtpClient smtp = new SmtpClient(ConfigurationManager.AppSettings["SMTPServer"]);
               smtp.Send(mail);
           }
     
           protected void RadTabStrip1_TabClick(object sender, RadTabStripEventArgs e)
           {
     
               string sessionTabId = string.Format("DrillDown_{0}", GenericController<DrillDownModel>.CurrentId);
               HttpContext.Current.Session[sessionTabId] = e.Tab.Text;
     
               RadPageView1.ContentUrl = e.Tab.Value;
               RadPageView1.ResolveUrl(e.Tab.Value);
           }
     
     
       }


    Orlando.
  2. Dimitar Terziev
    Admin
    Dimitar Terziev avatar
    1266 posts

    Posted 16 May 2012 Link to this post

    Hi Orlando,

    The situation with the loading panel is the following.This panel is only shown during the execution of an Ajax request, in the scenario that you are implementing, when the pageview is loaded on the page additional Get request is made in order to load the content defined by the ContentUrl property. Since this is not an Ajax request, but a general HTTP Get one the loading panel is not shown. If you need to show some animation or manually show the loading panel the implementation from the following code library could be used.

    Greetings,
    Dimitar Terziev
    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.
  3. UI for ASP.NET Ajax is Ready for VS 2017
  4. Orlando
    Orlando avatar
    5 posts
    Member since:
    Jun 2011

    Posted 16 May 2012 Link to this post

    Thanks for the response Dimitar, i will see the manual mode for this.


    regards,
    Orlando.
Back to Top