日期:2014-05-18  浏览次数:20520 次

关于IsPostBack的后台处理
这个问题一直在困扰着我:第一次加载时后台处理的事件与回传时后台处理的事件有什么不同?

还有,我用了一个GridView和SqlDataSource控件,在第一次加载时执行了DataBound事件,可是在回传后就不执行了,
那位兄弟给解释一下为什么,谢谢了



------解决方案--------------------
当我们希望只有在网页第一次加载时执行另一些代码(基本上都是数据的默认绑定),甚至希望一些代码在除首次加载外的每次加载时执行。那么我们可以利用IsPostBack特性来完成这一功能。在网页第一次加载时,该属性的值是false。如果网页因回送而被重新加载,IsPostBack属性的值就会被设置为true。
例如:
private void Page_Load(object sender, System.EventArgs e) 

if(!IsPostBack) 

dg.DataBind();//dg--DataGrid 
}
}
则只会在用户首次加载页面时绑定,如果用户刷新该页面,则if中的绑定不执行。试想如果每次用户刷新页面都要重新读取数据库然后绑定页面,效率会多差...


------解决方案--------------------
以上解释可以.
------解决方案--------------------

每回调一次,就会把您填的表单值记到页面上