这两天一直碰到它,却总是不明白,甚至一开始连回传都不知道是啥。。现在终于理解了,分享给大家,当然,如有不妥之处,还请大家不吝指教!

解释

    要想明白IsPostback,先来看看下面的这张图:
    
   
    第一次加载页面的的时候就会产生第一个循环:1和2→3→4→5a,此时IsPostBack为false;
    第二次及以后加载页面的时候即回传就会产生第二个循环:5b→6→7,这个时候IsPostBack为true。
   
  其实,页面在首次加载后向服务器提交数据,然后服务器把处理好的数据传递到客户端并显示出来,就叫postback, ispostback只是一个属性,即判断页面是否是回传,if(!Ispostback)就表示页面是首次加载,这是很常用的一个判断方式.一个页面只能加载一次,但可以在加载后反复postback.

使用方法

    IsPostBack一般用在Page_Load事件中,它的具体用法可以通过下面这个简单的例子来理解一下:

       在Web页面中添加一个文本框TextBox1和一个命令按钮Button1
        <asp:TextBox ID="TextBox1" runat="server" Text=""></asp:TextBox>
   
<asp:Button ID="Button1" runat="server" Text="清空" />

       代码:
        protected void Page_Load(object sender, EventArgs e)
{
//第一次加载
if (!Page.IsPostBack)
{
TextBox1.Text = "练习";
}
//回传,即第二次或者第N次加载
else
{
TextBox1.Text = "";
}
}
运行效果:当页面加载的时候显示的结果为:

点击“清空”命令按钮(没有任何代码),该过程将会提交表单到服务器,将会产生回传,运行结果如下:

总结

     IsPostBack 是Page对象的一个重要属性。这是一个只读的Boolean类型属性,它可以指示页面是第一次加载还是为了响应客户端回传而进行的加载。有经验的程序员通常将一些耗费资源的操作(例如,从数据库获得数据或者构造列表项)放在页面第一次加载时执行。如果页面回传到服务器并再次加载,就无须重复这些操作了。因为,任何输入或构建的数据多已被视图状态(ViewState)自动保留在后续的回传中。

IsPostback小结的更多相关文章

  1. IsPostback的原理

    ispostback:就是判断页面是首次加载的,还是数据回发(有get或者post请求过的)后的页面.上代码吧,直观点. 1.asp.net页面 <body> <form id=&q ...

  2. 从零开始编写自己的C#框架(26)——小结

    一直想写个总结,不过实在太忙了,所以一直拖啊拖啊,拖到现在,不过也好,有了这段时间的沉淀,发现自己又有了小小的进步.哈哈...... 原想框架开发的相关开发步骤.文档.代码.功能.部署等都简单的讲过了 ...

  3. Python自然语言处理工具小结

    Python自然语言处理工具小结 作者:白宁超 2016年11月21日21:45:26 目录 [Python NLP]干货!详述Python NLTK下如何使用stanford NLP工具包(1) [ ...

  4. java单向加密算法小结(2)--MD5哈希算法

    上一篇文章整理了Base64算法的相关知识,严格来说,Base64只能算是一种编码方式而非加密算法,这一篇要说的MD5,其实也不算是加密算法,而是一种哈希算法,即将目标文本转化为固定长度,不可逆的字符 ...

  5. iOS--->微信支付小结

    iOS--->微信支付小结 说起支付,除了支付宝支付之外,微信支付也是我们三方支付中最重要的方式之一,承接上面总结的支付宝,接下来把微信支付也总结了一下 ***那么首先还是由公司去创建并申请使用 ...

  6. iOS 之UITextFiled/UITextView小结

    一:编辑被键盘遮挡的问题 参考自:http://blog.csdn.net/windkisshao/article/details/21398521 1.自定方法 ,用于移动视图 -(void)mov ...

  7. K近邻法(KNN)原理小结

    K近邻法(k-nearst neighbors,KNN)是一种很基本的机器学习方法了,在我们平常的生活中也会不自主的应用.比如,我们判断一个人的人品,只需要观察他来往最密切的几个人的人品好坏就可以得出 ...

  8. scikit-learn随机森林调参小结

    在Bagging与随机森林算法原理小结中,我们对随机森林(Random Forest, 以下简称RF)的原理做了总结.本文就从实践的角度对RF做一个总结.重点讲述scikit-learn中RF的调参注 ...

  9. Bagging与随机森林算法原理小结

    在集成学习原理小结中,我们讲到了集成学习有两个流派,一个是boosting派系,它的特点是各个弱学习器之间有依赖关系.另一种是bagging流派,它的特点是各个弱学习器之间没有依赖关系,可以并行拟合. ...

随机推荐

  1. Python3 CNN中卷积和池化的实现--限制为二维输入

    # -*- coding: utf-8 -*- """ Created on Wed Jan 31 14:10:03 2018 @author: markli " ...

  2. java List/ArrayList 解惑

    导读:祖传挖坟派学习方法(宝儿姐友情支持) 第一部分  List简介 第二部分  何为ArrayList 第三部分  代码示例 第四部分  吹牛 如果你急需想搞清楚一些问题可以先看这里的总结 再后续看 ...

  3. Java Object part1

    java中Object是所有类的父类,这句话就不多做解释.但是Object中到底有哪些我们常用的方法呢? 1. public native int hashCode();     这个方法是一个nat ...

  4. git指南目录

    git指南目录 发表回复 蓝色表示未阅读,棕色表示阅读过,绿色表示阅读过但不太理解 1. 起步 1.1 关于版本控制 1.2 Git 简史 1.3 Git 基础 1.4 安装 Git 1.5 初次运行 ...

  5. 【BZOJ-4184 】 Shallot 线段树按时间分治 + 线性基

    4184: shallot Time Limit: 30 Sec  Memory Limit: 128 MBSubmit: 356  Solved: 180[Submit][Status][Discu ...

  6. 媒体查询@media query

    @media query 媒体查询 @media (min-width:768px)小屏 (>=) @media (min-width:992px)中屏 @media (min-width:12 ...

  7. HTML解析利器HtmlAgilityPack

    一个.NET下的HTML解析类库HtmlAgilityPack.HtmlAgilityPack是一个支持用XPath来解析HTML的类库,在花了一点时间学习了解HtmlAgilityPack的API和 ...

  8. 【防火墙技术连载11】强叔侃墙 攻击防范篇 流量型攻击之UDP Flood及防御

    http://support.huawei.com/huaweiconnect/enterprise/thread-214141.html

  9. Java 中 byte、byte 数组和 int、long 之间的转换

    Java 中 byte 和 int 之间的转换源码: //byte 与 int 的相互转换 public static byte intToByte(int x) { return (byte) x; ...

  10. Snmp学习总结(四)——WinServer2003安装和配置SNMP

    一.安装SNMP 今天讲解一下在WinServer2003安装和配置SNMP,具体操作步骤如下: 找到[控制面板]→[添加或删除程序]