(vs提示的属性描述是“指明updatepanel是将在每次异步同发是刷新还是只在发生特定操作时刷新”)
设为Always的UpdatePanel控件”,而不是单单只有触发Async-Postback的那个UpdatePanel控件。用我的话说,
就是一个页面上有可能有多个updatepanel控件,而每个updatepanel控件有一个共同的属性是UpdateMode,updateMode属性又
有
两个值:一个是Always,一个是Conditional。当页面每刷新一次,这样页面中的所有将updateMode属性设为Always的
updatepanel也会跟着刷新,而这个页面中那些将updateMode属性设为Conditional的updatepanel会根据特定的操作
条件来刷新,那么这个特定条件是用什么来设置的呢?答案是交由Triggers
(vs提示的属性描述是“可以导致updatepanel更新的触发器的集合)
或程序来控制该updatepanel控件的刷新。
UpdateTriggers
当一个updatepanel的刷新是根据一定的条件时,设置updateTriggers属性就显得很重要,只有updateTriggers中设定的
控件发生Async-Postback动作时,这个updatepanel控件才会刷新。默认情况下,updatepanel控件的
ChildrenAsTriggers属性值设为true,意味着位于此updatepanel控件中的子控件会自动成为updateTriggers的
一部分,也就是说只要这些子控件发生Postback动作,这个Postback动作就将变成Async-Postback动作,完成后就会刷新此
updatepanel中的内容。适当地利用updateMode及updateTriggers,可以对updatepanel控件的刷新做更细致的调
整和更有效率的应用。上面这段话是我学习的那本书上的原话,用我的理解说呢,就是一个updatepanel自身的所有子控件都是Triggers集合当
中的一员,除了自身的外,Triggers集合还可以添加其他非此updatepanel的控件,只要updatepanel1的Triggers集合中
有的控件如:Button1发生了加入到Triggers集合中的Button1的Click事件时,就会带动updatepanel1中所有内容的更
以updatepanel1中子控件的发生了事件,也会带动updatepanel1刷新,大家明白了吗?
实例体会UpdateMode属性及使用UpdateTriggers
sqldatasouce和GridView,同时在UpdatePanel中加入了一个Button,但点击Button时,将GridView中的第
部刷新。
实例1:
我们把Button1放到updatepanel1的外部,updatepanel的任何属性也不变,cs代码不改变,还是如下:
protected void Button1_Click(object sender, EventArgs e)
{
GridView1.EditIndex = 2;
GridView1.DataBind();
}
IE后退键有效了,同时听到了熟悉的唰的声音,页面也大范围的有动的感觉),从这个例子就说明了,updatepanel的updateMode属性在默
认的情况下是Always,也就是会跟随整个页面刷新。
实例2:
现在我们做另一个例子就是Button1还是在
updatepanel的外部,但是要的效果是页面局部刷新,这样我们就需要把放置GridView1的updatepanel的updateMode属
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-30681-1.html
很棒棒哒