我的密码框是TexBox类型,属性AutoPostBack为true,在它的TextChanged事件中用正则表达式来验证密码
string pattern = @"^\w{3,12}$";
        //RegexOptions options = RegexOptions.IgnoreCase | RegexOptions.Compiled;
        Regex regex = new Regex(pattern);
        if (txtBoxPass.Text != "")
        {
            if (regex.IsMatch(txtBoxPass.Text))
            {
                LabPass1.Visible = true;
                LabPass1.Text = "密码设置成功";
            }
            else
            {
                LabPass1.Visible = true;
                LabPass1.Text = "数字、字母和下划线3-12位";
            }
        }
        else 
        {
            LabPass1.Visible = true;
            LabPass1.Text = "密码不能为空";
        }
    }
不知道怎么回事,验证过之后。框中的值没了?怎么回事?请教高手

解决方案 »

  1.   

    AutoPostBack为true 页面刷新了
      

  2.   

    一般都是客户端js验证
    成功就return true 然后走后台事件,不成功就return false。
      

  3.   

    txtPWD.Attributes.Add("value", txtPWD.Text);
      

  4.   

    对于TextBox的密码文本模式,好像MS设计的时候就是这样的,明文则不会
      

  5.   

    补充一下。这个框中我还用了Ajax的UpdatePanel 这个控件来局部刷新,
    我在页面上还有一个TexBox设置的是用户名,用户名框也用UpdatePanel 控件,也是在里面写了一些函数,来验证数据库中的用户名信息是否重复,,那个验证过之后就没有变没,,另外用户名框的AutoPostBack为true
    求解
      

  6.   

    你不能用焦点事件来判断吗?jquery 表单验证
      

  7.   

    问题解决了,就是PassWord模式的问题