if(!this.IsPostBack)
{
}
通常用在page_load中,獲取一個值,該值指示該頁是否正為響應(yīng)客戶端回發(fā)而加載,或者它是否正被首次加載和訪問,如果是為響應(yīng)客戶端回發(fā)而加載該頁,則為 true;否則為 false。
比如如果你在頁面上按了一下按鈕,那么在Page_load時,你就會看到isPostBack等于true;如果你的頁面是第一次被打開,則返回false;
!this.IsPostBack就是一直取true,把這個頁面里面的東西一直當成第一次打開
!IsPostBack==ture 當前頁面是第一次加載
IsPostBack 由于用戶交互(page.submit())提交頁面而產(chǎn)生的加載,二次加載
isPostback屬性獲取一個值,該值指示該頁是否正為響應(yīng)客戶端回發(fā)而加載,或者它是否正被首次加載和訪問。如果是為響應(yīng)客戶端回發(fā)而加載該頁,則為 true;否則為 false(第一次加載)。
所以if(!IsPostBack)的意思就是如果不是了響應(yīng)客戶端回發(fā)而加載該頁的時候執(zhí)行{}里的數(shù)據(jù)---即第一次加載。IsPostBack的意思就是第二次(IsPostBack本身有回傳信息),!IsPostBack的意思就是不是第二次---即第一次。所以你的以上代碼最好放在里面,這樣在你使用分頁的時候就知道為什么了,你可以為你這datagird加入分頁,然后分別把代碼放在{}里面和外面看看效果,只有為第一次加載時執(zhí)行此代碼。
舉個例子,首先假設(shè)頁面里沒有IsPostback,頁面里有些客戶填寫的文本框,當用戶填寫好了之后,點提交之前如果頁面響應(yīng)了其他的事件(比如CheckBox的CheckedChanged事件)那么那些文本框就會被清空,原因就說頁面被從新初始化了。