При нажатии кнопки выполнить эту операцию

Это код:

protected void btnProceed_Click(object sender, EventArgs e)
{
   if (!Page.IsValid)
    {
        return;
    }

    MembershipCreateStatus createstatus;
    UserDetails us = new UserDetails();

        MembershipUser Newuser = Membership.CreateUser(txtusrname.Text, txtpassword.Text, txtemailid.Text, "Question", "Answer", true, out createstatus);

        if (Newuser != null && createstatus == MembershipCreateStatus.Success)
        {
            if (RdoAuthorReviewer.SelectedValue =="Author")
            {
                Roles.AddUserToRole(txtusrname.Text, "Author");
            }

            int NoOfRecordsAffected = us.createUser();

            try
            {
                if (NoOfRecordsAffected > 0)
                {
                    Mail.sendmail();
                }
                else
                {
                    Response.Redirect("SignUp-Error.aspx",true);
                }

            }
        }
    }
}

на странице aspx Код кнопки:

        <asp:Button  ID="btnProceed" runat="server"  CssClass="button notransitions" Text="Register User and Send Letter" ValidationGroup="reqGroup" onclick="btnProceed_Click"                       TabIndex="16" style="width:303px; margin-top:15px;" />

Мое требование:

1) При нажатии кнопки кнопка должна быть отключена, или загрузочное изображение появляется в центре страницы при нажатии кнопки.

1 ответ

Решение

Вы можете реализовать свой сценарий "загрузка изображения в центр страницы", используя Free AjaxControlToolkit или любой другой набор инструментов на основе Ajax, если у вас уже есть.

Вам нужно будет использовать AjaxLoadingPanel и AjaxManager. Пример того, как это будет выглядеть для вашего случая:

<ajax:AjaxManager ID="AjaxManager1" runat="server">
        <AjaxSettings>
        <ajax:AjaxSetting AjaxControlID="btnProceed">  
                    <UpdatedControls> 
                        <ajax:AjaxUpdatedControl ControlID="btnProceed" LoadingPanelID="AjaxLoadingPanel1" /> 
                        <ajax:AjaxUpdatedControl ControlID="AnythingElseID" LoadingPanelID="AjaxLoadingPanel1" /> <%-- For example if you have specified a whole page's id you can use it here to block all page or write any specific control's id's you want to block--%>
                        <ajax:AjaxUpdatedControl ControlID="AnythingElseIDWhereImgWillbeShown" LoadingPanelID="AjaxLoadingPanel2" /> <%-- Add update control with loadingpanel2 only once on the page if you want only 1 loading image--%>
                    </UpdatedControls> 
                </ajax:AjaxSetting>
     </AjaxSettings>
</ajax:AjaxManager> 

<ajax:AjaxLoadingPanel ID="AjaxLoadingPanel1" runat="server" Transparency="1" HorizontalAlign="Center"></ajax:AjaxLoadingPanel>
<ajax:AjaxLoadingPanel ID="AjaxLoadingPanel2" runat="server" Transparency="1" HorizontalAlign="Center">
     <div style="margin-top:100px"> <%-- You can specify where to show your image from the starting place of control for which you will specify this panel in updatecontrol--%>
     <asp:Image ID="Image1" runat="server" ImageUrl="loading.gif"></asp:Image>
     </div> 
    </ajax:AjaxLoadingPanel>
Другие вопросы по тегам