如题。开始的时候,密码输入完文本框里面的内容也会消失,后来我加上了这段代码,
protected override void OnPreRender(EventArgs args) 
  { 
        base.OnPreRender(args); 
        this.Txt_pwd .Attributes["value"] = this.Txt_pwd .Text;
        this.Txt_sure.Attributes["value"] = this.Txt_sure.Text;
        
    }
 密码文本框显示正常,但是比较验证的错误信息一闪而过。
是不是使用了AJAX每次都要回传,所以错误提醒一闪而过?该如何避免,请教各位大哥~

解决方案 »

  1.   

    前台代码
    <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
       用户密码<asp:TextBox ID="Txt_pwd" runat="server" 
            AutoPostBack="True" ontextchanged="Txt_pwd_TextChanged" 
            style="height: 22px" TextMode="Password"></asp:TextBox><asp:Label 
            ID="lbl_pwd" runat="server" Text="请输入以字母开始,含有数字,6-16位的密码"></asp:Label><br/><br/>
        确认密码<asp:TextBox ID="Txt_sure" runat="server" AutoPostBack="True" 
            ontextchanged="Txt_sure_TextChanged" TextMode="Password"></asp:TextBox><asp:CompareValidator 
            ID="CompareValidator1" runat="server" ControlToCompare="Txt_pwd" 
            ControlToValidate="Txt_sure" ErrorMessage="您两次输入的密码不一致" SetFocusOnError="True"></asp:CompareValidator><br /><br/>
    </ContentTemplate>
        </asp:UpdatePanel>
    后台代码主要是各种输入判断,就不贴上了,怎么没有人呢····
      

  2.   

    前台你只要用js实现就可以了,实现还很简单。
    后台判断的时候如果不一致,就alert
      

  3.   

    alert 会弹出对话框,感觉很不好
      

  4.   

    可以不用alert啊,直接用JS验证textbox输入是否错误,然后你在每个需要验证的文本框下做一个隐藏里面含有错误信息的div,JS控制他的显示和隐藏不就行了。
      

  5.   

    亲,你难道不知道UpdatePanel里面使用验证控件无效这一微软的Bug么?
      

  6.   

    你直接 document.getElementById("")  == document.getElementById("")就可以了 然后 alert  return false; 阻止提交。