IsPostBack说明及用法

 简单说明:

Page_Load()
{
   // some codes:code1
   ......
   If(!IsPostBack)
   {
      // some codes:code2
       ......
    }
   //some codes:code3
   ......
}

IsPostBack中保存的是一个值,该值指示该页面是否正被首次加载或访问.在页面首次加载或访问时, IsPostBack的值默认为false,因此code2将执行,这时IsPostBack的值变为true.在该页面未被关闭前进行的需要执行Page_Load()操作时(例如刷新页面),将只执行code1和code3,code2就不再执行了. 

因此:对于只需要执行一次的一些页面上的设置或其它,可以放在code2的位置,可以加快系统速度.

 

 If(!IsPostBack)的用法主要是用于数据的绑定等操作,下面举两个例子

用法1:

例如有一个数据信息的列表,当我们点击详细信息后就可以跳到另一页面载入该条数据的详细信息。// 这就需要在页面的Page_Load函数中添加对数据的载入。

并且我们设计管理员可以直接在该页面中修改数据项,并保存数据。此时如果没有把上面载入数据的代码放在If(!IsPostBack)中,那么当点击保存按钮页面回传时页面将首先重新加载数据将你刚在TextBox中修改的数据又覆盖了,这样你的修改功能就不能够实现了

 

用法2:

 两个dropdownlist控件联动时,主dropdownlist(即直接从数据库中取数据的那个)可放在if(!postback){}里面,而从dropdownlist(根据主dropdownlist中的选择的值而从数据库中取数据的dropdownlist)写在if(!postback){}外面,但在之前要先清一下从dropdownlist里的数据(要不然有重复列)!这样只要主dropdownlist的autopost属性被选上就能实现联动了!

 

你可能感兴趣的:(数据库,textbox,PostBack)