按钮OnClick在ASP.NET中第一次单击时没有触发?

时间:2011-02-28 04:48:57

标签: c# asp.net

  

可能重复:
  Button OnClick not firing on first click in ASP.NET?

<asp:Button ID="buttonSub" runat="server" CssClass="btn9" 
           OnClick="buttonSub_Click" OnClientClick="return confirmation();" Text="Next" />
       <asp:Button ID="ButtonCancel" runat="server" 
            CssClass="btn9" OnClick="ButtonCancel_Click"  CausesValidation="false"  Text="Cancel" />


try
    {

        //Resize the Photo Image 

        ResizePhoto();

        //Resize the Company Logo Image
        ResizeCompanyLogo();

        bool ErrorGuid = false;

        string LoginNameChecking = "<MortValidLoanOfficerLoginName><LoginName>" + textboxLoginName.Text.Trim() + "</LoginName></MortValidLoanOfficerLoginName>";

        dsLogincheck = objGeneric.GenericMethod(LoginNameChecking, "MortValidLoanOfficerLoginName", out ErrorGuid);

        if (Convert.ToInt32(dsLogincheck.Tables[0].Rows[0][0]) == 1)
        {

            Session["firstname"] = textboxFirstName.Text;

            Session["lastname"] = textboxLastName.Text;

            Session["loginpassword"] = textboxLoginPassword.Text.Trim();
            Session["reenterpassword"] = textboxReEnterPassword.Text.Trim();
            Session["emailaddress"] = textboxEmailAddress.Text.Trim();

            Session["loanofficertype"] = DropDownListLoanOfficerType.SelectedItem.Value.Trim();
            Session["companyname"] = textboxCompanyName.Text.Trim();
            Session["companyurl"] = textboxCompanyURL.Text.Trim();
            Session["registrationperiod"] = DropDownListRegistrationPeriod.SelectedItem.Value.Trim();
            Session["RegistrationAmount"] = Convert.ToString(100 * int.Parse(DropDownListRegistrationPeriod.SelectedItem.Value));
            Session["str"] = "yes";


            textboxLoginName.Text = "";
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "aa", "<script>alert('login name already exists Please enter another login name');</script>", false);
            Response.Redirect("~/LoanOfficerRegistration.aspx");
        }
        else
        {
            Server.Transfer("CreditCardInfo.aspx", true);

        }
    }
    catch (Exception ExeptionMessage)
    {


    }


protected void ButtonCancel_Click(object sender, EventArgs e)
{

    Session["LoginValidation"] = null;
    Response.Redirect("~/Logon.aspx");
}

这是一种注册形式。取消按钮不工作首次单击当sumbmit按钮单击一次然后单击取消按钮单击两次其工作其他明智,它不工作。 plz为这个问题提供解决方案。

protected void Page_Load(object sender,EventArgs e)     {

    if (!IsPostBack)
    {
        GetLoanOfficerid();
        textboxFirstName.Focus();
        //Values Assigning to Registration Page Controls if Login Name Already Exists
        if (Session["str"] == "yes")
        {
            Page.RegisterStartupScript("aa", "<script>alert('login name already exists Please enter another login name');</script>");


            textboxFirstName.Text = (String)Session["firstname"]; ;
            textboxLastName.Text = (String)Session["lastname"];
            textboxLoginName.Text = "";
            textboxLoginName.Focus();
            textboxLoginPassword.Text = (String)Session["loginpassword"];

            textboxReEnterPassword.Text = (String)Session["reenterpassword"];
            textboxEmailAddress.Text = (String)Session["emailaddress"];


            DropDownListLoanOfficerType.Text = (String)Session["loanofficertype"];
            textboxCompanyName.Text = (String)Session["companyname"];
            textboxCompanyURL.Text = (String)Session["companyurl"];
            DropDownListRegistrationPeriod.Text = (String)Session["registrationperiod"];
            textboxRegistrationAmount.Text = (String)Session["RegistrationAmount"];
        }
        //Values Assigning to Registration Page Controls When Back Button is Click in CreditCardinfo Page
        if (Session["page"] == "yes")
        {
            textboxFirstName.Text = (String)Session["firstname"]; ;
            textboxLastName.Text = (String)Session["lastname"];
            textboxLoginName.Text = (String)Session["loginname"];
            //textboxLoginName.Focus();
            textboxLoginPassword.Text = (String)Session["loginpassword"];

            textboxReEnterPassword.Text = (String)Session["reenterpassword"];
            textboxEmailAddress.Text = (String)Session["emailaddress"];


            DropDownListLoanOfficerType.Text = (String)Session["loanofficertype"];
            textboxCompanyName.Text = (String)Session["companyname"];
            textboxCompanyURL.Text = (String)Session["companyurl"];
            DropDownListRegistrationPeriod.Text = (String)Session["registrationperiod"];
            textboxRegistrationAmount.Text = (String)Session["RegistrationAmount"];

        }

    }
}

1 个答案:

答案 0 :(得分:0)

确保在Page_Load函数中捕获IsPostBack。

如果(this.IsPostBack) { }