当前位置: 代码迷 >> ASP.NET >> label的值如何不自动消掉。
  详细解决方案

label的值如何不自动消掉。

热度:5929   发布时间:2013-02-25 00:00:00.0
label的值怎么不自动消掉。。

  运行结果:用户名有效!用户名无效,请重新输入!
 
当我输入一个正确的时候只显示 用户名有效。。。但是我输入一个错误的时候 运行结果:用户名有效!用户名无效,请重新输入!
 也就是说上次运行的结果的那个label的值没有消掉。。下面是我的代码:
 前台:
 <asp:TextBox ID="TextuserName" runat="server" Height="25px" Width="180px" ></asp:TextBox>
<asp:Button ID="Buttuser" runat="server" Text="检测用户名" onclick="usertext"/>
 &nbsp; <asp:Label ID="lb1" runat="server" ></asp:Label>
  <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="TextuserName" 
  ValidationExpression="[a-zA-Z]\w{4,9}" ErrorMessage="用户名无效,请重新输入!" Text="用户名无效,请重新输入!"></asp:RegularExpressionValidator>


后台:

 protected void usertext(object sender, EventArgs e)
  {

  if (RegularExpressionValidator1.IsValid)
  { //连接DB 检测是否被注册
  lb1.Text = "用户名有效!";
   
  }
  else {

  lb1.Text="";
  return;
  }
   

  }

------解决方案--------------------------------------------------------
这是因为,出错的时候只是在客户端验证的,并没有执行服务器端的事件,客户端验证不通过,是不提交到服务器的。所以你的服务器端的代码根本就没执行。所以一致显示。你可以改成这样

 <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="TextuserName"
ValidationExpression="[a-zA-Z]\w{4,9}" ErrorMessage="用户名无效,请重新输入!" Text="用户名无效,请重新输入!"
EnableClientScript="false"></asp:RegularExpressionValidator>
  相关解决方案