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 

  • 相关阅读:
    【UML建模】UML类图几种关系的总结
    【架构框架】IoC框架
    【AutoMapper基础】值解析器--Custom value resolvers
    【AutoMapper基础】简单示例--Flattening
    【AutoMapper简介】
    【UML建模】UML类图符号简介
    【.Net基础02】XML序列化问题
    【.net 基础01】ReferenceEquals,Equals,==的区别
    【Visual Studio】利用预编译命令发布不同的版本
    【Windows Phone 8】五角星评价控件
  • 原文地址:https://www.cnblogs.com/asdyzh/p/9741059.html
Copyright © 2011-2022 走看看