你寫在Page_Load裡?
我舉個例子,假設你今天更新(update)一筆資料,.NET的流程是:
Page_Load(你重新binding data) -> 你的更新邏輯
以上流程會有個問題,你的資料還沒更新,就被你重新binding覆蓋了,.NET為避免這個錯誤,設計了這個驗證制度。
至於為什麼加上if (!IsPostBack)就不會報錯,是因為任何insert、update、delete都是PostBack動作,而上面的判斷而避開了資料被覆蓋的問題,所以不會觸動.NET的驗證機制。
ispostback意思是是否为回传(我自己的理解),在你第一次加载的时候肯定不是回传,当你向服务器发送请求调用你这个程序的话,就属于回传了.所以很多时候我们都加上if(!ispostback){}
只在第一次 才加载 所以需要 !IsPostBack
判断是否首次加载,页面刷新的时候用。如果有的数据页面不需要刷新就可以通过 if(!isIsPostBack){}来做判断了。求给分需要用呢!