zoukankan      html  css  js  c++  java
  • Page_Load事件与IsPostBack属性

    下面是一个登陆的界面:

     我们的需求是:

           第一次进入登陆界面时,用户名和密码应该为空,所以我们应该在Page_Load中将存放用户名和密码的两个文本框的内容清空。然后当我们单击登陆按钮时,将用户名和密码提交到服务器。

    privatevoid Page_Load(object sender, EventArgs e)
        {
            {
                this.txtUserName.Text = "";
                this.txtUserPwd.Text = "";
            }
      }
    privatevoid btn_Login(object sender, EventArgs e)
        {
            string userName = Request.Form["userName"].ToString();
            string userPwd = Request.Form.Get("userPwd").ToString();
            SqlConnection con = new SqlConnection("server=.;database=login;uid=sa;pwd=123456654321");
            SqlCommand cmd = new SqlCommand("selectcount(*) from login where userName='" + userName + "' anduserPwd='" + userPwd + "'", con);
            int count = Convert.ToInt32(cmd.ExecuteScalar());
            if (count > 0)
            {
                Response.Redirect("main.aspx");
     
            }
         }
     



    结果:

           当我们进入登陆界面时,用户名和密码的内容的确清空,但是当我们确不能登陆成功。

    原因:

            当执行btn_Login事件时同时会执行Page_Load事件,并且Page_Load的执行顺序先于btn_Login的执行顺序。所以当我们单击登陆按钮时,它会先执行Page_Load事件,文本框的内容就会清空,在btn_Login事件中获取到的内容不是我们在界面输入的值,而是空值,所以,不能登陆。

    Page_Load事件的特性:

           无论页面的其它任何事件执行时都会先执行Page_Load事件。

           因此,当加载页面并对控件的更改属性进行处理之前,应该先在Page_Load事件中检查该页面是否为被传递回的页面,即要进行IsPostBack的属性的判断。

          Ispostback:就是判断页面是首次加载的,还是数据回发(有get或者post请求过的)后的页面。对于首次加载的页面,IsPostBack的值为false,其它时候加载的页面都是回发页面,IsPostBack的值为true。

    privatevoid Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack )
            {
                this.txtUserName.Text = "";
                this.txtUserPwd.Text = "";
            }
        }
     
     

    这样,每次进行一下判断,可以给我们省去好多麻烦。 --------------------- 本文来自 九期赵欢欢 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/zhaohuanhuanjiuqi/article/details/18718035?utm_source=copy 

  • 相关阅读:
    03把IL编译成可执行文件
    02值类型
    报错:该字符串未被识别为有效的DateTime
    01使用ILDasm.exe将可执行文件反编译成IL代码
    MVC自定义路由02-实现IRouteConstraint限制控制器名
    MVC自定义路由01-为什么需要自定义路由
    报错:System.Data.Entity.Infrastructure.DbUpdateException 更新条目时出错
    输入网址背后发生的故事
    使用jquery加载部分视图02-使用$.ajax()
    使用jquery加载部分视图01-使用$.get()
  • 原文地址:https://www.cnblogs.com/asdyzh/p/9741059.html
Copyright © 2011-2022 走看看