下面是一个登陆的界面:

我们的需求是:

       第一次进入登陆界面时,用户名和密码应该为空,所以我们应该在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

最新文章

  1. 漫谈Linux内核哈希表(2)
  2. IOS高级编程之三:IOS 多线程编程
  3. php遍历循环数组实现方法
  4. 使用c#访问脚本里变量的方法
  5. 如何使用AutoIT完成单机测试
  6. Thinkphp twig
  7. linux (centos 6.4)安装自定义分区方案(转载)
  8. Block使用变量,让你的程序看起来清晰!
  9. ZOJ 2048(Prim 或者 Kruskal)
  10. Linux以及Android开发中的小技巧和长繁命令记录收集
  11. Java实现邮箱发送验证码
  12. sublime Xdebug 配置
  13. 手写java虚拟机(一)——搭建环境
  14. appium java 滑动(js滑动和swipe滑动)
  15. sublime text3作为php开发IDE
  16. Java的Spring内实现的mini版内存"计数器"功能
  17. 在 Visual Studio 2010 中配置SharpPcap
  18. Web前端新手经典学习路线
  19. flask基础之Response响应对象(九)
  20. android开发(28) 做个 指南针 应用

热门文章

  1. Unigui unidbgrid+unidac uniquery联合使用时产生的奇葩问题
  2. Codeforces 571B Minimization:dp + 贪心【前后相消】
  3. java: jsp:param中文乱码
  4. C++(五)— 控制保留小数位数
  5. POJ 3126 Prime Path(BFS算法)
  6. 将double型小数点后面多余的零去掉
  7. 2018-06-07 RF test 1 :TX Power test
  8. 【Tensorflow】Ubuntu 安装 Tensorflow gpu
  9. Swift中数组和字典都是值类型
  10. 使用Anthem.NET 1.5中的FileUpload控件实现Ajax方式的文件上传