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

Show LoadingPanel While redirect page

0 Answers 120 Views
Ajax
This is a migrated thread and some comments may be shown as answers.
July
Top achievements
Rank 2
July asked on 30 Oct 2012, 02:00 PM
Hi!.
I have the following scenario

- Master Page
- Content Page.

In Content Page I Have a Grid
This grid contains a ImageButton "Assume".. When the Admin click on "Assume"  (captura1.png)--> The app execute some actions an assume the user selected and redirect to main page. (captura1.png)

I need show loading panel while this actions and redirect are executing.

I try to use RequestStart and ResponseEnd but doesn't work...

Here is my code:


Content Page:

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
    <link href="/UI/Style/Admin/Admin.css" rel="stylesheet" type="text/css" />
    <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
        <script type="text/javascript">
      
            function loadAssume(UserId) {
                document.getElementById("<%= hfUserId.ClientID %>").value = UserId;
                $find("<%= RadAjaxManager.GetCurrent(Page).ClientID %>").ajaxRequest("Asumme");
            }

           
        </script>
    </telerik:RadCodeBlock>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <telerik:RadCodeBlock runat="server">
    </telerik:RadCodeBlock>
    <telerik:RadAjaxManagerProxy ID="AjaxManagerProxy1" runat="server">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="Grid">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="Grid" LoadingPanelID="LoadginPanel1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="btnDelete">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="Grid" LoadingPanelID="LoadginPanel1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="gbcbtnDelete">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="Grid" LoadingPanelID="LoadginPanel1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
           
        </AjaxSettings>
    </telerik:RadAjaxManagerProxy>
    <UC:header runat="server" ID="headerPage" />
    <div id="containerSubWHelp">
        <asp:HiddenField ID="hfUserId" runat="server" />
        <telerik:RadGrid ID="Grid" runat="server" OnNeedDataSource="UserGrid_NeedDataSource"
            OnUpdateCommand="UserGrid_UpdateCommand" OnInsertCommand="UserGrid_InsertCommand"
            AutoGenerateColumns="False" OnItemCommand="UserGrid_ItemCommand" OnPreRender="UserGrid_PreRender"
            OnItemCreated="UserGrid_ItemCreated" OnDeleteCommand="UserGrid_DeleteCommand"
            OnItemDataBound="UserGrid_ItemDataBound">
            <MasterTableView DataKeyNames="Id,IsScanUploadUser">
                <Columns>
                    <telerik:GridClientSelectColumn CommandName="Select" UniqueName="Select" HeaderStyle-Width="28px"
                        Resizable="false" Reorderable="false">
                    </telerik:GridClientSelectColumn>
                    <telerik:GridTemplateColumn UniqueName="IsActive" DataField="IsActive" Reorderable="false"
                        HeaderStyle-Width="55px" AllowFiltering="true" Resizable="false">
                        <ItemTemplate>
                            <asp:ImageButton ID="ActiveIcon" runat="server" CommandName="Active"></asp:ImageButton>
                            <asp:CheckBox ID="lblIsActive" runat="server" Checked='<%# (DataBinder.Eval(Container.DataItem,"IsActive") is DBNull ?false:Eval("IsActive")) %>'
                                Visible="false" />
                                <asp:CheckBox ID="IsScanUploadUser" runat="server" Checked='<%# (DataBinder.Eval(Container.DataItem,"IsScanUploadUser") is DBNull ?false:Eval("IsScanUploadUser")) %>'
                                Visible="false" />
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                   
                    <telerik:GridTemplateColumn UniqueName="AssumeColumn" HeaderStyle-Width="25px" Resizable="false"
                        AllowFiltering="false" Reorderable="false">
                        <ItemTemplate>
                            <asp:ImageButton ID="AssumeLink" runat="server" ImageUrl="/UI/Images/user_go.png">
                            </asp:ImageButton>

                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                   
                    <telerik:GridTemplateColumn UniqueName="TemplateEditColumn" HeaderStyle-Width="28px"
                        Reorderable="false" AllowFiltering="false" Resizable="false">
                        <ItemTemplate>
                            <asp:ImageButton ID="EditLink" runat="server" ImageUrl="/UI/Images/pencil.png"></asp:ImageButton>
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                    <telerik:GridEditCommandColumn HeaderStyle-Width="28px" UniqueName="EditCommandColumn"
                        Reorderable="false" ButtonType="ImageButton" EditImageUrl="/UI/Images/grid_edit.png"
                        Resizable="false">
                    </telerik:GridEditCommandColumn>
                    <telerik:GridButtonColumn UniqueName="btnDelete" ButtonType="ImageButton" Reorderable="false"
                        CommandName="Delete" ConfirmDialogHeight="100px" ConfirmDialogWidth="300px" HeaderStyle-Width="28px"
                        Resizable="false" ImageUrl="/UI/Images/delete.png" />
                    <telerik:GridTemplateColumn DataField="Id" UniqueName="Id" Visible="false">
                        <InsertItemTemplate>
                            <telerik:RadTextBox ID="RadTextBox1" runat="server" Text='<%# Bind("Id") %>' ReadOnly="true"
                                Enabled="false" />
                        </InsertItemTemplate>
                        <EditItemTemplate>
                            <telerik:RadTextBox ID="RadTextBox1" runat="server" Text='<%# Eval("Id") %>' ReadOnly="true" />
                        </EditItemTemplate>
                    </telerik:GridTemplateColumn>
                    <telerik:GridTemplateColumn UniqueName="FirstName" DataField="FirstName">
                        <EditItemTemplate>
                            <asp:TextBox ID="txtFirstName" Width="90%" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "FirstName") %>'></asp:TextBox>
                            <br />
                            <asp:RequiredFieldValidator ID="rfFirstName" runat="server" ErrorMessage="*" ControlToValidate="txtFirstName"
                                CssClass="validator" Display="Dynamic"></asp:RequiredFieldValidator>
                            <asp:RegularExpressionValidator ID="reFirstName" ControlToValidate="txtFirstName"
                                runat="server" ValidationExpression="^[0-9a-zA-Z\s]{1,249}$" CssClass="validator"
                                Display="Dynamic" />
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="lblFirstName" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "FirstName") %>'></asp:Label>
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                    <telerik:GridTemplateColumn UniqueName="MiddleName" DataField="MiddleName">
                        <EditItemTemplate>
                            <asp:TextBox ID="txtMiddleName" Width="90%" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "MiddleName") %>'></asp:TextBox>
                            <br />
                              <asp:RegularExpressionValidator ID="reMiddleName" ControlToValidate="txtMiddleName"
                                runat="server" ValidationExpression="^[0-9a-zA-Z]{0,249}$" CssClass="validator"
                                Display="Dynamic" />
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="lblMiddleName" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "MiddleName") %>'></asp:Label>
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                    <telerik:GridTemplateColumn UniqueName="LastName" DataField="LastName">
                        <EditItemTemplate>
                            <asp:TextBox ID="txtLastName" runat="server" Width="80px" Text='<%# DataBinder.Eval(Container.DataItem, "LastName") %>'></asp:TextBox>
                            <br />
                            <asp:RequiredFieldValidator ID="rvfLastName" runat="server" ErrorMessage="*" ControlToValidate="txtLastName"
                                CssClass="validator" Display="Dynamic"></asp:RequiredFieldValidator>
                            <asp:RegularExpressionValidator ID="reLastName" ControlToValidate="txtLastName" runat="server"
                                ValidationExpression="^[0-9a-zA-Z\s]{1,249}$" CssClass="validator" Display="Dynamic" />
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="lblLastName" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "LastName") %>'></asp:Label>
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                    <telerik:GridTemplateColumn UniqueName="Email" DataField="Email">
                        <EditItemTemplate>
                            <asp:TextBox ID="txtEmail" Width="90%" CausesValidation="true" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Email") %>'></asp:TextBox>
                            <br />
                            <asp:RequiredFieldValidator ID="rfvEmail" runat="server" ErrorMessage="*" ControlToValidate="txtEmail"
                                CssClass="validator" Display="Dynamic"></asp:RequiredFieldValidator>
                            <asp:RegularExpressionValidator ID="revEmail" ControlToValidate="txtEmail" ValidationExpression="^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$"
                                CssClass="validator" runat="server" Display="Dynamic"></asp:RegularExpressionValidator>
                            <asp:CustomValidator ValidationGroup="Information" ID="cvEmail" ControlToValidate="txtEmail"
                                CssClass="validator" runat="server" OnServerValidate="cvEmail_ServerValidate"
                                Display="Dynamic"></asp:CustomValidator>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="lblEmail" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Email") %>'></asp:Label>
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                    <telerik:GridTemplateColumn UniqueName="LoginId" DataField="LoginId">
                        <EditItemTemplate>
                            <asp:TextBox ID="txtLoginId" CausesValidation="true" Width="90%" runat="server"
                                Text='<%# DataBinder.Eval(Container.DataItem, "LoginId") %>'></asp:TextBox>
                            <br />
                            <asp:RequiredFieldValidator ID="rfvLoginId" runat="server" ErrorMessage="*" ControlToValidate="txtLoginId"
                                CssClass="validator" Display="Dynamic"></asp:RequiredFieldValidator>
                            <asp:CustomValidator ID="cvLoginId" runat="server" ControlToValidate="txtLoginId"
                                CssClass="validator" ValidateEmptyText="True" Display="Dynamic" OnServerValidate="cvLoginId_ServerValidate" />
                            <asp:RegularExpressionValidator ID="reLogin" ControlToValidate="txtLoginId" runat="server"
                                ValidationExpression="^[0-9a-zA-Z\s]{1,249}$" CssClass="validator" Display="Dynamic" />
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="lblLoginId" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "LoginId") %>'></asp:Label>
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                    <telerik:GridTemplateColumn UniqueName="Phone" DataField="Phone">
                        <EditItemTemplate>
                            <telerik:RadMaskedTextBox ID="txtPhone" runat="server" MaxLength="11" CssClass="textBoxPopUp"
                                Text='<%# DataBinder.Eval(Container.DataItem, "Phone") %>' Mask="(###) ###-####-####"
                                DisplayMask="(###) ###-####-####">
                            </telerik:RadMaskedTextBox>
                            <br />
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="lblPhone" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Phone") %>'></asp:Label>
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                    <telerik:GridTemplateColumn UniqueName="LastLogin" SortExpression="LastLogin">
                        <ItemTemplate>
                            <asp:Label ID="lblLastLogin" runat="server" Style="font-size: 10px" Enabled="false"
                                Text='<%# DataBinder.Eval(Container.DataItem, "LastLogin") %>' />
                                <br />
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                    <telerik:GridTemplateColumn UniqueName="IsSuper" DataField="IsSuper">
                        <EditItemTemplate>
                            <asp:CheckBox ID="chkIsSuper" runat="server" Checked='<%# IsSuperUser(DataBinder.Eval(Container.DataItem, "Id").ToString()) %>' />
                            <br />
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:CheckBox ID="lblIsSuper" runat="server" Enabled="false" Checked='<%#Convert.ToBoolean(Eval("IsSuper"))%>' />
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                </Columns>
                <CommandItemTemplate>
                    <UC:AddButtons ID="AddButtons" runat="server" />
                </CommandItemTemplate>
            </MasterTableView><ClientSettings>
                <ClientEvents OnRowDblClick="rowDblClick" />
            </ClientSettings>
        </telerik:RadGrid>
    </div>
    <telerik:RadWindowManager ID="RadWindowManager1" runat="server" EnableShadow="true">
        <Windows>
            <telerik:RadWindow ID="UserFormDialog" runat="server" Height="600px" Width="800px"
                Skin="Vista" BackColor="Aquamarine" ReloadOnShow="true" ShowContentDuringLoad="false"
                Modal="true" VisibleStatusbar="false" Behaviors="Move, Close" Animation="FlyIn"
                IconUrl="/UI/Images/user.png" />


                
        </Windows>
    </telerik:RadWindowManager>
    <asp:HiddenField ID="HiddenName" runat="server" Visible="false" />
</asp:Content>

.cs

this method is called from UserGrid_ItemCreated
  public static void AssumeUserSettings(GridDataItem item)
        {
            ResourceManager resources = WebSearch.Components.GeneralFunctions.Resources.GetAdminResources("Grids");
            string culture = WebSearch.Components.GeneralFunctions.Variables.CurrentCulture();


            var assumeLink = (ImageButton)item.FindControl("AssumeLink");
            assumeLink.ToolTip = resources.GetString(assumeLink.ID, new CultureInfo(culture));
            assumeLink.AlternateText = resources.GetString(assumeLink.ID, new CultureInfo(culture));
            assumeLink.Attributes["onclick"] = String.Format("return loadAssume('{0}');",
                                                             item.OwnerTableView.DataKeyValues[item.ItemIndex]["Id"]);

        }


 protected void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e)
        {
          


            switch (e.Argument)
            {
                case "Asumme":
  // I need start show loading 
                    AssumeUser();
  // I need end show loading  

                    break;

}}


 private void AssumeUser()
        {
            (Page.Master.FindControl("lblAssume") as Label).Visible = true;
            (Page.Master.FindControl("lnkCloseAssume") as LinkButton).Visible = true;
            (Page.Master.FindControl("lblogOff") as LinkButton).Visible = false;
            Session["LastUrl"] = "~" + Request.Url.AbsolutePath;
            new WSOrganization().SavePreferences();
            WebSearch.Components.Init.PreferencesUsers.LoadUserSettings(Convert.ToInt32(hfUserId.Value), true);
            Session["flag"] = true;
        }


Master Page.asp

 <telerik:RadAjaxPanel ID="pnlPanelApp" runat="server" Height="100%" Width="100%">
   
        <div id="UserOnline" runat="server">
            <asp:Label ID="lblAssume" runat="server" CssClass="UserOnlineText" />
            <asp:LinkButton ID="lblUserOnline" runat="server" CssClass="UserOnlineText" OnClick="lblUserOnline_Click"></asp:LinkButton>
            <asp:LinkButton ID="lblogOff" runat="server" CssClass="UserOnlineText" OnClick="lblogOff_Click"></asp:LinkButton>
            <asp:LinkButton ID="lnkCloseAssume" runat="server" CssClass="UserOnlineText" OnClick="lnkCloseAssume_Click"></asp:LinkButton>
        </div>
        
            <div id="header" runat="server" />
           
            <div id="centerBody" runat="server">
                <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
                </asp:ContentPlaceHolder>
            </div>
            
            <div id="footer" runat="server" />
        
        <telerik:RadWindowManager ID="RadWindowManager1" runat="server" EnableShadow="true">
            <Windows>
                <telerik:RadWindow ID="Dialog" runat="server" Height="200px" Width="300px" Skin="Vista"
                    Left="15%" ReloadOnShow="true" ShowContentDuringLoad="false" Modal="true" VisibleStatusbar="false"
                    Behaviors="Close" />
                <telerik:RadWindow ID="InformationDialog" runat="server" Height="100px" Width="300px"
                    Skin="Vista" Left="15%" ReloadOnShow="true" ShowContentDuringLoad="false" Modal="true"
                    VisibleStatusbar="false" Behaviors="Close" />
                <telerik:RadWindow ID="UserAssumeDialog" runat="server" Height="80px" Width="250px"
                    Skin="Vista" Left="15%" ReloadOnShow="true" ShowContentDuringLoad="true" Modal="true"
                    VisibleStatusbar="false" Behaviors="Close" />
            </Windows>
        </telerik:RadWindowManager>
        <UC:Notification ID="Notification" runat="server" />
          <UC:RadWindowsManager ID="WindowManagerTopMenu" runat="server"></UC:RadWindowsManager>
          
    </telerik:RadAjaxPanel>

No answers yet. Maybe you can help?

Tags
Ajax
Asked by
July
Top achievements
Rank 2
Share this question
or