各位帮个忙吧。这个问题我彻底无语了。我都不知道怎么描述这个问题了。额额额额注册页面的button按钮在输入所有注册信息后点击无效。在部分信息未输入完全的时候,点击就会提示信息未输入。前台代码:
        <table width="100%" border="0" cellpadding="0" cellspacing="0">
        <tr>
          <td width="18%" height="48" align="right" valign="middle"><h4>Email:</h4></td>
          <td width="40%" valign="middle">
              <asp:TextBox ID="txtEmail" class="inputs rlinput" runat="server" 
                  ToolTip="将作为您的登录帐号使用,不会被公开" MaxLength="50"></asp:TextBox>
                </td>
          <td width="42%" valign="middle"><asp:RegularExpressionValidator ID="revEmail" runat="server" 
                  ControlToValidate="txtEmail" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">邮箱格式不正确</asp:RegularExpressionValidator>
          <asp:RequiredFieldValidator ID="rfvEmail" runat="server" ControlToValidate="txtEmail" >必填项目,最多输入50个字符</asp:RequiredFieldValidator>    
                </td>
        </tr>
        <tr>
          <td width="18%" height="48" align="right" valign="middle"><h4>用户名:</h4></td>
          <td width="40%" valign="middle">
              <asp:TextBox ID="txtName" class="inputs rlinput" runat="server"></asp:TextBox>
            </td>
          <td width="42%" valign="middle">
              <asp:RequiredFieldValidator ID="rfvLoginName" runat="server"  ControlToValidate="txtName">必填项目,最多输入50个字符</asp:RequiredFieldValidator>
                </td>
        </tr>
        <tr>
          <td width="18%" height="48" align="right" valign="middle"><h4>密码:</h4></td>
          <td width="40%" valign="middle">
              <asp:TextBox ID="txtPassword" class="inputs rlinput" runat="server" 
                  TextMode="Password" ToolTip="为了您的帐号安全,建议密码为6个字符以上"></asp:TextBox>
                </td>
          <td width="42%" valign="middle">
          <asp:CompareValidator runat="server" ID="cpvPassword"  ControlToValidate="txtPassword"></asp:CompareValidator>
              <asp:RequiredFieldValidator ID="rfvPassword" runat="server" ControlToValidate="txtPassword" >必填项目</asp:RequiredFieldValidator>
          </td>
        </tr>
        <tr>
          <td width="18%" height="48" align="right" valign="middle"><h4>确认密码:</h4></td>
          <td width="40%" valign="middle">
              <asp:TextBox ID="txtAgainPassword" class="inputs rlinput" runat="server" 
                  TextMode="Password" ToolTip="为了您的帐号安全,建议密码为6个字符以上"></asp:TextBox>
                </td>
          <td width="42%" valign="middle">
          <asp:CompareValidator runat="server" ID="cpvAgainPassword"   ControlToValidate="txtAgainPassword"  ControlToCompare="txtPassword"  Operator="Equal">两次输入的密码不一致</asp:CompareValidator>
              <asp:RequiredFieldValidator ID="rfvAgainPassword" runat="server" ControlToValidate="txtAgainPassword" >必填项目</asp:RequiredFieldValidator>
          </td>
        </tr>
        <tr>
          <td width="18%" height="48" align="right" valign="middle"><h4>验证码:</h4></td>
          <td valign="middle"><asp:TextBox ID="txtCode" class="inputs yzm_input" runat="server"></asp:TextBox><img src="/CheckCode.aspx" height="25" width="45" alt=""/></td>
          <td valign="middle"><asp:RequiredFieldValidator ID="rfvCode" runat="server" ControlToValidate="txtCode" >必填项目</asp:RequiredFieldValidator></td>
        </tr>
        <tr>
          <td width="18%" height="48" align="right" valign="middle">&nbsp;</td>
          <td width="40%" valign="middle"><asp:Button ID="btnSave" runat="server" Text="注册" OnClick="btnSave_Click" class="dbtn reg_btn"/></td>
        </tr>
</table>
后台代码
        protected void btnSave_Click(object sender, EventArgs e)
        {
            //判断用户输入的验证码是否正确
            if (txtCode.Text.ToLower() == Request.Cookies["CheckCode"].Value.ToString().ToLower())
                {
                    int IntReturnValue = ucObj.AddUser(txtEmail.Text.Trim(), txtName.Text.Trim(), txtPassword.Text.Trim());               
                    //定义一个字符串,获取注册用户的信息
                    string strSql = "select * from tb_Member where UserName='" + this.txtName.Text.Trim() + "' and Password='" + this.txtPassword.Text.Trim() + "'";
                    DataTable dsTable = dbObj.GetDataSetStr(strSql, "tbUser");
                    if (IntReturnValue == 100)
                    {
                        Response.Write(ccObj.MessageBox("恭喜您,注册成功!", "../Default.aspx"));
                        Session["UserID"] = Convert.ToInt32(dsTable.Rows[0][0].ToString());//保存用户ID
                        Session["UserName"] = dsTable.Rows[0][2].ToString();//保存用户名
                    }
                    else
                    {
                        Response.Write(ccObj.MessageBoxPage("注册失败,您使用的用户名或邮箱地址已经被使用"));
                    }
                }
                else
                {
                    Response.Write(ccObj.MessageBoxPage("验证码输入有误,请重新输入!"));
                }
            }求大神说说这是为什么啊我在一个新页面只设置输入邮箱,用户名和密码和button,点击就能注册,在注册页面把其他部分删除掉,也保留和新页面一样的控件,点击就没有反应。难道人品问题?????????

解决方案 »

  1.   

    比较验证不需要两个,一个即可
    <table width="100%" border="0" cellpadding="0" cellspacing="0">
        <tr>
          <td width="18%" height="48" align="right" valign="middle"><h4>Email:</h4></td>
          <td valign="middle" class="style1">
              <asp:TextBox ID="txtEmail" class="inputs rlinput" runat="server" 
                  ToolTip="将作为您的登录帐号使用,不会被公开" MaxLength="50"></asp:TextBox>
                </td>
          <td width="42%" valign="middle"><asp:RegularExpressionValidator ID="revEmail" runat="server" 
                  ControlToValidate="txtEmail" 
                  ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" 
                  Display="Dynamic">邮箱格式不正确</asp:RegularExpressionValidator>
          <asp:RequiredFieldValidator ID="rfvEmail" runat="server" ControlToValidate="txtEmail" >必填项目,最多输入50个字符</asp:RequiredFieldValidator>    
                </td>
        </tr>
        <tr>
          <td width="18%" height="48" align="right" valign="middle"><h4>用户名:</h4></td>
          <td valign="middle" class="style1">
              <asp:TextBox ID="txtName" class="inputs rlinput" runat="server"></asp:TextBox>
            </td>
          <td width="42%" valign="middle">
              <asp:RequiredFieldValidator ID="rfvLoginName" runat="server"  ControlToValidate="txtName">必填项目,最多输入50个字符</asp:RequiredFieldValidator>
                </td>
        </tr>
        <tr>
          <td width="18%" height="48" align="right" valign="middle"><h4>密码:</h4></td>
          <td valign="middle" class="style1">
              <asp:TextBox ID="txtPassword" class="inputs rlinput" runat="server" 
                  TextMode="Password" ToolTip="为了您的帐号安全,建议密码为6个字符以上"></asp:TextBox>
                </td>
          <td width="42%" valign="middle">
              <asp:RequiredFieldValidator ID="rfvPassword" runat="server" ControlToValidate="txtPassword" >必填项目</asp:RequiredFieldValidator>
          </td>
        </tr>
        <tr>
          <td width="18%" height="48" align="right" valign="middle"><h4>确认密码:</h4></td>
          <td valign="middle" class="style1">
              <asp:TextBox ID="txtAgainPassword" class="inputs rlinput" runat="server" 
                  TextMode="Password" ToolTip="为了您的帐号安全,建议密码为6个字符以上"></asp:TextBox>
                </td>
          <td width="42%" valign="middle">
              <asp:RequiredFieldValidator ID="rfvAgainPassword" runat="server" 
                  ControlToValidate="txtAgainPassword" Display="Dynamic" >必填项目</asp:RequiredFieldValidator>
          <asp:CompareValidator runat="server" ID="cpvPassword"  
                  ControlToValidate="txtAgainPassword" ControlToCompare="txtPassword" 
                  ErrorMessage="两次口令不一致"></asp:CompareValidator>
          </td>
        </tr>
        <tr>
          <td width="18%" height="48" align="right" valign="middle"><h4>验证码:</h4></td>
          <td valign="middle" class="style1"><asp:TextBox ID="txtCode" class="inputs yzm_input" runat="server"></asp:TextBox></td>
          <td valign="middle"><asp:RequiredFieldValidator ID="rfvCode" runat="server" ControlToValidate="txtCode" >必填项目</asp:RequiredFieldValidator></td>
        </tr>
        <tr>
          <td width="18%" height="48" align="right" valign="middle">&nbsp;</td>
          <td valign="middle" class="style1"><asp:Button ID="btnSave" runat="server" Text="注册" 
                  OnClick="btnSave_Click" class="dbtn reg_btn" Width="94px"/>
                    </td>
        </tr>
    </table>
      

  2.   

    你点击的时候是不是验证控件没有过啊。你把所有验证控件去掉就能过了 换jquery验证另外
    if (txtCode.Text.ToLower() == Request.Cookies["CheckCode"].Value.ToString().ToLower())cookie在哪写入的?
      

  3.   

    这个是在checkcode.aspx里面,是验证码的
      

  4.   

    我把你的代码复制后,验证码的地方还是加上了我原来的那个<img src="/CheckCode.aspx" height="25" width="45" alt=""/>。
    再次运行通过了,求解:比较验证不需要两个,一个即可。你这个说的是哪个比较验证?验证码?
      

  5.   

    你的项目中多了个
    <asp:CompareValidator runat="server" ID="cpvPassword"  ControlToValidate="txtPassword"></asp:CompareValidator>