H5W3
当前位置:H5W3 > 其他技术问题 > 正文

ASP.NET不执行Button的onClick事件,查了一天也没解决,求大家帮忙!

抱歉,代码有点多,是一个注册功能的页面,.aspx的倒数第五行是那个不起作用的btn。
.cs最下面是绑定的事件

.aspx文件的代码

<form id="form1" runat="server">
<asp:ScriptManager runat="server"></asp:ScriptManager>
<asp:UpdatePanel runat="server" ID="UpdatePanel1">
    <ContentTemplate>
        <div id="RegisterBox" runat="server">
            <asp:Label runat="server" SkinId="InfoTitle">邮箱</asp:Label><br />
            <asp:TextBox runat="server" AutoPostBack="true" ID="User_EMail" OnTextChanged="User_EMail_TextChanged" 
                CssClass="RegisterText"></asp:TextBox><br />
            <asp:RegularExpressionValidator runat="server" ControlToValidate="User_EMail" CssClass="Validator" ID="EmailValidator"
                ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
            <asp:Label runat="server" ID="TipEmail" CssClass="Validator"></asp:Label><br />
            <asp:Label runat="server" SkinId="InfoTitle">昵称</asp:Label><br />
            <asp:TextBox runat="server" AutoPostBack="true" ID="User_NickName" OnTextChanged="User_NickName_TextChanged" 
                CssClass="RegisterText"></asp:TextBox><br />
            <asp:RegularExpressionValidator runat="server" ID="NickNameValidator" ControlToValidate="User_NickName" CssClass="Validator" 
                ValidationExpression="([\u4E00-\uFA29]|[\uE7C7-\uE7F3]|[a-zA-Z0-9]){2,14}"></asp:RegularExpressionValidator>
            <asp:Label runat="server" ID="TipNickName" CssClass="Validator"></asp:Label><br />
            <asp:Label runat="server" SkinId="InfoTitle">密码</asp:Label><br />
            <asp:TextBox runat="server" ID="User_Pwd" TextMode="Password" CssClass="RegisterText"></asp:TextBox><br />
            <asp:RegularExpressionValidator runat="server" ControlToValidate="User_Pwd" 
                ErrorMessage="密码只能为6-20个非空格字符!" CssClass="Validator" ID="PwdValidator"
                ValidationExpression="[\S]{6,20}"></asp:RegularExpressionValidator><br />
            <asp:Label runat="server" SkinId="InfoTitle">确认密码</asp:Label><br />
            <asp:TextBox runat="server" ID="User_RePwd" TextMode="Password" CssClass="RegisterText"></asp:TextBox><br />
            <asp:CompareValidator runat="server" ControlToCompare="User_Pwd" CssClass="Validator" ID="RePwdValidator"
                ControlToValidate="User_RePwd" ErrorMessage="重复密码必须和密码相同!"></asp:CompareValidator><br />
            <asp:Label runat="server" SkinId="InfoTitle">性别</asp:Label><br />
            <asp:RadioButtonList runat="server" ID="User_Gender" CssClass="Gender" RepeatDirection="Horizontal" RepeatLayout="Flow">
                <asp:ListItem Text="男" Value="1"></asp:ListItem>
                <asp:ListItem Text="女" Value="0"></asp:ListItem>
            </asp:RadioButtonList><br />
            <asp:RequiredFieldValidator runat="server" CssClass="Validator" ErrorMessage="请选择性别!" 
                ControlToValidate="User_Gender"></asp:RequiredFieldValidator><br />
            <asp:Label runat="server" SkinId="InfoTitle">居住地</asp:Label><br />
            <asp:DropDownList runat="server" ID="User_Province" AutoPostBack="true"
                onselectedindexchanged="User_Province_SelectedIndexChanged">
                <asp:ListItem Text="省份" Value="0"></asp:ListItem>
            </asp:DropDownList>
            <asp:DropDownList runat="server" ID="User_City" style="visibility:hidden;" AutoPostBack="true"
                onselectedindexchanged="User_City_SelectedIndexChanged">
                <asp:ListItem Text="市/地区" Value="0"></asp:ListItem>
            </asp:DropDownList>
            <asp:DropDownList runat="server" ID="User_District" style="visibility:hidden;">
                <asp:ListItem Text="县/市" Value="0"></asp:ListItem>
            </asp:DropDownList><br />
            <asp:Label runat="server" ID="TipArea" CssClass="Validator" Text="请选择居住地!"></asp:Label><br />
            <asp:Label runat="server" SkinId="InfoTitle">生日</asp:Label><br />
            <asp:DropDownList runat="server" ID="User_BirthYear" AutoPostBack="true" CssClass="DropList"
                onselectedindexchanged="User_BirthMonthAndBirthYear_SelectedIndexChanged">
                <asp:ListItem Text="年份" Value="0"></asp:ListItem>
            </asp:DropDownList>
            <asp:DropDownList runat="server" ID="User_BirthMonth" AutoPostBack="true"
                onselectedindexchanged="User_BirthMonthAndBirthYear_SelectedIndexChanged">
                <asp:ListItem Text="月份" Value="0"></asp:ListItem>
                <asp:ListItem Text="1" Value="1"></asp:ListItem>
                <asp:ListItem Text="2" Value="2"></asp:ListItem>
                <asp:ListItem Text="3" Value="3"></asp:ListItem>
                <asp:ListItem Text="4" Value="4"></asp:ListItem>
                <asp:ListItem Text="5" Value="5"></asp:ListItem>
                <asp:ListItem Text="6" Value="6"></asp:ListItem>
                <asp:ListItem Text="7" Value="7"></asp:ListItem>
                <asp:ListItem Text="8" Value="8"></asp:ListItem>
                <asp:ListItem Text="9" Value="9"></asp:ListItem>
                <asp:ListItem Text="10" Value="10"></asp:ListItem>
                <asp:ListItem Text="11" Value="11"></asp:ListItem>
                <asp:ListItem Text="12" Value="12"></asp:ListItem>
            </asp:DropDownList>
            <asp:DropDownList runat="server" ID="User_BirthDay">
                <asp:ListItem Text="日期" Value="0"></asp:ListItem>
            </asp:DropDownList><br />
            <asp:Label runat="server" ID="TipBirthDay" class="Validator" Text="请选择出生日期!"></asp:Label><br />
            <asp:Label runat="server" SkinId="InfoTitle">验证码</asp:Label><br />
            <asp:TextBox runat="server" ID="CAPTCHA" Columns="4" CssClass="RegisterText CAPTCHA" Width="119px"></asp:TextBox>
            <asp:Image runat="server" ID="CAPTCHAimg" CssClass="CAPTCHAimg" AlternateText="nonPic" /><br />
            <asp:Label runat="server" ID="TipCAPTCHA" class="Validator" Text="验证码输入错误!"></asp:Label>
            <asp:Button runat="server" ID="ConfirmRegister" OnClick="ConfirmRegister_Click" CssClass="ConfirmRegister" />
        </div>
</ContentTemplate>
</asp:UpdatePanel>
</form>

.cs文件的代码

public partial class UserRegister : System.Web.UI.Page
{
    /// <summary>
    /// 初始化居住地和出生日期
    /// </summary>
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            for (int i = DateTime.Now.Year; i >= 1900; i--)
            {
                ListItem li = new ListItem(i.ToString(), i.ToString());
                User_BirthYear.Items.Add(li);
            }
            SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["EncloudConnectionString"].ConnectionString);
            conn.Open();
            SqlCommand cmd = new SqlCommand("select * from [S_Province]", conn);
            SqlDataReader dr = cmd.ExecuteReader();
            while (dr.Read())
            {
                ListItem li = new ListItem(dr[1].ToString(), dr[0].ToString());
                User_Province.Items.Add(li);
            }
        }
    }

    /// <summary>
    /// 检测邮箱格式和是否重复
    /// </summary>
    protected void User_EMail_TextChanged(object sender, EventArgs e)
    {
        EmailValidator.Validate();
        if (EmailValidator.IsValid)
        {
            SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["EncloudConnectionString"].ConnectionString);
            conn.Open();
            SqlCommand cmd = new SqlCommand("select [User_Email] from [ZOLUser] where [User_Email]='" + User_EMail.Text + "'", conn);
            SqlDataReader dr = cmd.ExecuteReader();
            if (dr.Read())
            {
                TipEmail.Text = "邮箱不能重复使用!";
            }
            else
            {
                TipEmail.Text = "";
            }
        }
        else
        {
            TipEmail.Text = "邮箱格式不正确!";
        }
    }

    /// <summary>
    /// 检测昵称格式和是否重复
    /// </summary>
    protected void User_NickName_TextChanged(object sender, EventArgs e)
    {
        NickNameValidator.Validate();
        if (NickNameValidator.IsValid)
        {
            SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["EncloudConnectionString"].ConnectionString);
            conn.Open();
            SqlCommand cmd = new SqlCommand("select [User_NickName] from [ZOLUser] where [User_NickName]='" + User_NickName.Text + "'", conn);
            SqlDataReader dr = cmd.ExecuteReader();
            if (dr.Read())
            {
                TipNickName.Text = "昵称已被使用!";
            }
            else
            {
                TipNickName.Text = "";
            }
        }
        else
        {
            TipNickName.Text = "昵称只能是2-14个汉字、字母或数字!";
        }
    }

    /// <summary>
    /// MD5加密方法
    /// </summary>
    /// <param name="sDataIn">需要加密的字符串</param>
    /// <param name="move">偏移量</param>
    /// <returns>加密后的字符串</returns>
    public string GetMD5(string sDataIn, string move)
    {
        System.Security.Cryptography.MD5CryptoServiceProvider md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
        byte[] bytValue, bytHash;
        bytValue = System.Text.Encoding.UTF8.GetBytes(move + sDataIn);
        bytHash = md5.ComputeHash(bytValue);
        md5.Clear();
        string sTemp = "";
        for (int i = 0; i < bytHash.Length; i++)
        {
            sTemp += bytHash[i].ToString("x").PadLeft(2, '0');
        }
        return sTemp;
    }

    /// <summary>
    /// 通过出生年和月动态加载出生日
    /// </summary>
    protected void User_BirthMonthAndBirthYear_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (!(User_BirthYear.SelectedIndex == 0) && !(User_BirthMonth.SelectedIndex == 0))
        {
            while (User_BirthDay.Items.Count > 1)
            {
                User_BirthDay.Items.RemoveAt(1);
            }
            int BirthYear = Convert.ToInt32(User_BirthYear.SelectedValue);
            int BirthMonth = Convert.ToInt32(User_BirthMonth.SelectedValue);
            for (int i = 1; i <= DateTime.DaysInMonth(BirthYear, BirthMonth); i++)
            {
                ListItem li = new ListItem(i.ToString(), i.ToString());
                User_BirthDay.Items.Add(li);
            }
        }
    }

    /// <summary>
    /// 通过省动态加载市和县
    /// </summary>
    protected void User_Province_SelectedIndexChanged(object sender, EventArgs e)
    {
        while (User_City.Items.Count > 1)
        {
            User_City.Items.RemoveAt(1);
        }
        while (User_District.Items.Count > 1)
        {
            User_District.Items.RemoveAt(1);
        }
        if (!(User_Province.SelectedIndex == 0))
        {
            SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["EncloudConnectionString"].ConnectionString);
            conn.Open();
            SqlCommand cmd = new SqlCommand("select * from [S_City] where [ProvinceID]='" + User_Province.SelectedValue + "'", conn);
            SqlDataReader dr = cmd.ExecuteReader();
            while (dr.Read())
            {
                ListItem li = new ListItem(dr[1].ToString(), dr[0].ToString());
                User_City.Items.Add(li);
            }
            User_City.Style.Add("visibility", "inherit");
        }
        else
        {
            User_City.Style.Add("visibility", "hidden");
        }
    }

    /// <summary>
    /// 通过市动态加载县
    /// </summary>
    protected void User_City_SelectedIndexChanged(object sender, EventArgs e)
    {
        while (User_District.Items.Count > 1)
        {
            User_District.Items.RemoveAt(1);
        }
        if (!(User_City.SelectedIndex == 0))
        {

            SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["EncloudConnectionString"].ConnectionString);
            conn.Open();
            SqlCommand cmd = new SqlCommand("select * from [S_District] where [CityID]='" + User_City.SelectedValue + "'", conn);
            SqlDataReader dr = cmd.ExecuteReader();
            while (dr.Read())
            {
                ListItem li = new ListItem(dr[1].ToString(), dr[0].ToString());
                User_District.Items.Add(li);
            }
            User_District.Style.Add("visibility", "inherit");
        }
        else
        {
            User_District.Style.Add("visibility", "hidden");
        }
    }
    protected void ConfirmRegister_Click(object sender, EventArgs e)
    {
        Response.Write("编程之神,请赐予我力量!!成功吧!!!!!");
    }
}

试了各种各样的方法,就是不能让这个事件起作用,真心求助!

回答:

可以google之,例如下面这个链接
AJAX下不能使用RESPONSE.WRITE 脚本的解决方案

事件处理函数应该是被调用了,只是没有输出。

本文地址:H5W3 » ASP.NET不执行Button的onClick事件,查了一天也没解决,求大家帮忙!

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址