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
Page_Load事件与IsPostBack属性的更多相关文章
- ASP.NET中IsPostBack属性研究
通过页面的IsPostback属性,可以检查 .aspx 页是否为传递回服务器的页面:当加载页面并对控件的更改属性处理之前,用户可以在page_Load事件中检查该页面是否被传递回的页面. 一般是在p ...
- ASP.NET(一):Reques对象和Response对象的区别,以及IsPostBack属性的用法
导读:在ASP.NET的学习中,初步认识了其6大对象(严格说来只能算是属性):Request,Response,Application,Session,Server,OjectContext.这些对象 ...
- 母版页的 page_load事件执行两次
定义了一个母版页 Admin.master 部分代码如下 <body onload="LoadHight()"> <div> <!--公共的头部开始 ...
- Page_Load 事件
Page_Load 事件是众多 ASP.NET 可理解的事件之一.Page_Load 事件会在页面加载时被触发,然后 ASP.NET 会自动调用子例程 Page_Load<%@ Page Lan ...
- 关于Page_Load事件发生情况
Page_Load事件会在第一次加载页面时发生和将该页面回发到服务器时发生 第一种情况Page.IsPostBack返回false,第二种返回True. 若在Page_Load事件中有一些对控件的操作 ...
- 在TreeView 控件上,如果双击任何一个节点的checkbox 只会收到一次After_Check事件 但是check属性变化两次(从false到true 再从true到false),请问该如何解决,谢谢!
在TreeView 控件上,如果双击任何一个节点的checkbox 只会收到一次After_Check事件 但是check属性变化两次(从false到true 再从true到false),请问该如何解 ...
- 010-判断是否回传IsPostBack属性
属性IsPostBack:判断是否回传 如果是第一次请求,则返回false 如果是回传请求,则返回true->说明:只有使用服务器端表单才可以正常使用IsPostBack->使用情境:当在 ...
- jQuery事件对象的属性
注:摘自<锋利的jQuery(第二版)> JQuery在遵循W3C规范的情况下,对事件对象的常用属性进行了封装,使得事件处理在各大浏览器下都可以正常运行而不需要进行浏览器类型判断. 1. ...
- asp.net Page_Load事件加载两次
Page_Load 即使加上 if(!IsPostBack){ ……} 还时走了2次 这时候 或者看看你的程序和脚本,是不是刷新页面了 或者页面的样式有错误的地方 例如: background:ur ...
随机推荐
- Delphi UniDAC 通过http协议连接数据库的设置
Connection through HTTP tunnel(using http protocol) Sometimes client machines are shielded by a fire ...
- mysql查看和设置timeout 和批量杀死链接进程
查看的语句 show global variables like "%timeout%"; 结果: +-----------------------------+--------- ...
- jquery侧边折叠导航栏制作,两行代码搞定
jquery侧边折叠导航栏制作,两行代码搞定 //CSS*{margin: 0;padding: 0} ul{list-style: none} .menu li ul{display: none} ...
- 分享知识-快乐自己:FastDFS 图片服务器的搭建
使用一台虚拟机来模拟,只有一个Tracker.一个Storage服务,配置nginx访问图片. 1):安装依赖包 yum -y install zlib zlib-devel pcre pcre-de ...
- node.js redis对事务的控制
redis对事务的支持还是比较差的,就是把所有的执行命令方到队列中一个一个执行 multi开启一个事务,exec执行事务集合中的命令 代码: var redisClient; redisClient. ...
- 如何在MySQL中查询当前数据上一条和下一条的记录
如果ID是主键或者有索引,可以直接查找: 方法一: 查询上一条记录的SQL语句(如果有其他的查询条件记得加上other_conditions以免出现不必要的错误): select * from tab ...
- 使用myeclipes制造属于自己的jar
选定你需要在jar中包含的package或者class 步骤1:右键export导出, 步骤2:导出类型为java --JRE file. 步骤3:直接finish即可完成 如果希望你的jar带源码 ...
- Java 集合常用特点
1:集合:1) Collection(单列集合) --------------------------------------------------------------------- ...
- [基本操作]线段树分治和动态dp
不知道为什么要把这两个没什么关系的算法放到一起写...可能是都很黑科技? 1.线段树分治 例题:bzoj4026 二分图 给你一个图,资瓷加一条边,删一条边,询问当前图是不是二分图 如果用 LCT 的 ...
- 【整理】如何选取后缀数组&&后缀自动机
后缀家族已知成员 后缀树 后缀数组 后缀自动机 后缀仙人掌 后缀预言 后缀Splay ? 后缀树是后缀数 ...