大家都知道,当GridVew和ObjectDataSource在一起搭配使用时,如指定GridVew的DataSrouceID为 ObjectDataSource时,这个时候程序可以不用调用DataBind()方法进行数据绑定,程序会默认在Page_Load事件结束后调用 DataBind()方法,或当你在某个事件里修改了类似ObjectDataSource的select参数时,当页面中所有事件结束后,程序会默认再 调用一次DataBind()。
以上这些大家应该都很清楚,但我最近无意发现一个现象,例如我们在页面的某一button的onclick事件里修改了ObjectDataSource 的Select参数的默认值,我们先在button里不写GridView.DataBind(),我在程序中设置断点跟踪发现,程序的运行结果是,先运 行page_load->调用默认的DataBind()->Button的OnClick事件->调用默认的DataBind()。 而如果我们在这一Button的onclick事件里写上GridView.DataBind()的话,程序运行结果就是page_load->调 用默认的DataBind()->Button的OnClick事件->在Button的OnClick事件里调用我们写的 DataBind()方法。
大家有没有发现,原本在onclick事件结束后,程序会默认调用的DataBind()不会再调用了。
以此类推,如果我们在Page_Load中调用DataBind()的话,那么程序运行结果就会是Page_Load->运行Page_Load中的DataBind(),而不会在Page_Load结束后调用默认的DataBind()
以上是我的一个小发现(也许很多人都发现了^_^),不知道大家对这个问题是怎么理解的,欢迎大家接着对我提的这个问题继续讨论下~~~ 大家交流交流~~~
posted on 2010-12-10 16:42  cwe  阅读(317)  评论(0编辑  收藏  举报