ASP.NET中防止页面多次加载的IsPostBack属性
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ASP.NET中防止页面多次加载的IsPostBack属性,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1727字,纯文字阅读大概需要3分钟。
内容图文
![ASP.NET中防止页面多次加载的IsPostBack属性](/upload/InfoBanner/zyjiaocheng/1313/681a65aee3d244749400fed312927f62.jpg)
查查 msdn, 上边有 IsPostBack 的定义:获取一个值,该值指示该页是否正为响应客户端回发而加载,或者它是否正被首次加载和访问。如果是为响应客户端回发而加载该页,则为 true ;否则为 false 。
首先,有个问题,web页面是如何加载的,客户端浏览器服务器端发送请求,服务器端将请求发送到客户端,服务器端将释放客户端的请求。
第二个问题,为什么要防止页面多次加载,根据上述的加载过程我们知道,当第二次发送同样请求时,服务器端没有保存原来客户端的数据,那么展现给客户端浏览器为空或者仍然是原来的信息。
例如一个简单的登陆代码如下:
protected void Page_Load(object sender, EventArgs e) { this.txtUserName.Text = ""; this.txtUserPwd.Text = ""; this.btnExit .Attributes .Add("onclick","window.close();"); } protected void btnLogin_Click(object sender, EventArgs e) { if (this.txtUserName.Text == "a" && this.txtUserPwd.Text == "a") { this.lblMessage.Text = "登录成功"; } else { this .lblMessage .Text ="登录失败"; } }显示的界面如下:即第一次输入错误的用户名和密码时会提示登陆失败。
当我重新输入正确的用户名和密码时:页面还是会提交失败。
原因在于,点击登录后系统没有重新作出回应。
解决方案:将上述代码改为:
protected void Page_Load(object sender, EventArgs e) { if(!Page.IsPostBack ){ this.txtUserName.Text = ""; this.txtUserPwd.Text = ""; } this.btnExit .Attributes .Add("onclick","window.close();"); } protected void btnLogin_Click(object sender, EventArgs e) { if (this.txtUserName.Text == "a" && this.txtUserPwd.Text == "a") { this.lblMessage.Text = "登录成功"; } else { this .lblMessage .Text ="登录失败"; } }更改后的界面显示
整理了现阶段能看懂的几种网上总结:
结论① 对于使用Server.Transfer进行迁移时迁移到的页面其IsPostBack=false。
结论② Post方式如果Request中没有请求值,即Request.Form =null则IsPostBack=false;Get方式如果Request中没有请求值,即Request.QueryString =null则IsPostBack=false。
结论③ 如果QueryString或Form虽然有请求值,但是QueryString或Form中的
Key“__VIEWSTATE”和“__EVENTTARGET”和“__VIEWSTATEFIELDCOUNT”,并且没有键为“null”,值以“__VIEWSTATE”开头并且也没有值为“__EVENTTARGET”的键值对,则IsPostBack=false。
结论④ 使用Response.Redirect方式向自画面迁移时,此时IsPostBack=false。
刚开始接触asp.net问题百出呀真是!此博客仅供初学者理解。如有错误还请指正。
原文:http://blog.csdn.net/lxy344x/article/details/41802317
内容总结
以上是互联网集市为您收集整理的ASP.NET中防止页面多次加载的IsPostBack属性全部内容,希望文章能够帮你解决ASP.NET中防止页面多次加载的IsPostBack属性所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。