日期:2014-05-18  浏览次数:20469 次

急,Random生成随机验证码, 没验证完就变了
大体代码就这样的

ublic partial class Login : System.Web.UI.Page
{
  Random rdom = new Random();

  protected void Page_Load(object sender, EventArgs e)
  {
  this.UserID.Focus();
  int sjs=rdom.Next(10000,99999);
  this.sjs.Text = sjs.ToString();
  }
  protected void Button1_Click(object sender, EventArgs e)
  {
  string userid, password, sex, mphone, email;
  userid = this.UserID.Text;
  password = this.Password.Text;
  if (this.yanz.Text == this.sjs.Text)
  {
  ........  
  {
  Page.ClientScript.RegisterStartupScript(this.GetType(), "ok", "<script>alert('验证码不正确')</script>)");
  }
  }
 

------解决方案--------------------
你的代码没有错,只是你忘了做一件事,就是没有把生存好的验证码,放入session或/.viewstatus中去,所以每次,只要有一点点刷新,就会变了!
------解决方案--------------------
保存到SESSION中... 验证过之后再改变.
------解决方案--------------------
没有保存,刷新自然会改变
------解决方案--------------------
Page_Load里面加上一个
if(!this.Ispostback)
------解决方案--------------------
用不着SESSION吧,那太麻烦了。
------解决方案--------------------
传过去就可以了 ^呵呵~!