.net是如何实现Page.IsPostBack属性的?看看C#中关于IsPostBack的解释

上月去上海一家公司面试,笔试中有一题:.net是如何实现Page.IsPostBack属性的

我看了半天竟然不知道如何作答,想自己平时写了无数程序,在aspx.cs中写 if(!IsPostBack) 不计其数,却从来不曾想过这个问题。

今天g.cn了一下,找到如下文章,并通过在最近开发的败家女导购网上测试,可知.net是根据 Request.Form.Count 是否大于0来判断Page是否是第一次打开的。

原文如下:

C#中关于IsPostBack的解释

Page.IsPostBack是一个标志:当前请求是否第一次打开。

1)每次页面Load的时候,根据需要把每次都要加载的代码放在IsPostBack中,只需要加载一次的代码放在if(!IsPostBack)中。

  2) 使用方法

    if(!IsPostBack)
    {
      Response.Write("第一次提交!");
    }
    if(IsPostBack)
    {
      Response.Write("按按钮!");
    }

   3)IsPostBack只有在第一次打开的时候是false,其它时候都是true

  4).Net判断一个Page是否第一次打开的方法:Request.Form.Count==0  是第一次打开,IsPostBack==false;Request.Form.Count>0 不是第一次打开,IsPostBack==true;  

  5)每次用户回传服务器任何信息的时候,都会引发isPostBack属性用来判断此用户是否曾经做过登陆或者其他事件

  6)当通过IE的地址栏等方式打开一个URL时是第一次打开, 当通过页面的提交按钮或能引起提交的按钮以POST的方式提交的服务器时,页面就不再是第一次打开了。

  写下此文,纪念一下那次被out的面试。

posted on 2010-02-04 16:50  xiaohu  阅读(1346)  评论(0编辑  收藏  举报