摘录:Page.IsPostBack说明

来源:互联网 发布:海康网络控制键盘 编辑:程序博客网 时间:2024/06/18 14:21

msdn上边有IsPostBack的定义:
获取一个值,该值指示该页是否正为响应客户端回发而加载,或者它是否正被首次加载和访问。
如果是为响应客户端回发而加载该页,则为
true;否则为 false
“为相应客户端回发而加载”,注意,这里的客户端的回发是指服务器端响应客户端的回发,这也就决定了该属性是由服务器控件的事件所引起。 
对于javascript客户端脚本代码,由于只是运行在客户端,从而执引发不了该属性的执行。
!IsPostBack==ture 当前页面是第一次加载:
第一次加载页面时Page.ispostback是false,当触发该页面的web控件时,产生回发,
这时候该属性会是true,所以要用if(!IsPostback)来判断,只在第一次进入页面时加载数据。
简单来说,就是每次服务器端进行回发的时候,都会执行page_Load() 里的程序,
当我们添加IsPostBack时,IsPostBack里的程序只会在页面加载时执行一次,
以后无论服务器怎么回发,都不会调用IsPostBack里的程序。

ASP.NET 页面作为代码在服务器上运行。因此,要得到处理,页面必须配置为当用户单击按钮(或者当用户选中复选框或与页面中的其他控件交互)时提交到服务器。每次页面都会提交回自身,以便它可以再次运行其服务器代码,然后向用户呈现其自身的新版本。

ASP.NET 网页的处理循环如下:

  1. 用户请求页面。(使用 HTTP GET 方法请求页面。)页面第一次运行,执行初步处理(如果您已通过编程让它执行初步处理)。
  2. 页面将标记动态呈现到浏览器,用户看到的网页类似于其他任何网页。
  3. 用户键入信息或从可用选项中进行选择,然后单击按钮。(如果用户单击链接而不是按钮,页面可能仅仅定位到另一页,而第一页不会被进一步处理。)
  4. 页面发送到 Web 服务器。(浏览器执行 HTTP POST 方法,该方法在 ASP.NET 中称为“回发”。)更明确地说,页面发送回其自身。 例如,如果用户正在使用 Default.aspx 页面,则单击该页上的某个按钮可以将该页发送回服务器,发送的目标则是 Default.aspx。
  5. 在 Web 服务器上,该页再次运行。并且可在页上使用用户键入或选择的信息。
  6. 页面执行您通过编程所要实行的操作。
  7. 页面将其自身呈现回浏览器。

只要用户在该页面中工作,此循环就会继续。用户每次单击按钮时,页面中的信息会发送到 Web 服务器,然后该页面再次运行。每个循环称为一次“往返行程”。由于页面处理发生在 Web 服务器上,因此页面可以执行的每个操作都需要一次到服务器的往返行程。


原创粉丝点击