
图1
的控件的名字,在下拉菜单自然也会有页面上其他的控件,包括updatepanel中的子控件,我们选中Button1,在Triggers的
EventName的下拉菜单中会出现Button控件的所有事件,我们选择Click事件,单击确定,结束配置。这个环节的操作,是
为了告诉updatepanel1当Button1发生Click事件时,它带动的页面Postback动作,将被视为Async-Postback动
作,当此动作发至Server后,updatepanel1控件会判断送出此Async-Postback动作是否在它的(updatepanel1)
Triggers设定中,再判断事件名称是否符合,两者都符合时,updatepanel1控件便会进行刷新动作。还是上面的cs代码,再次运行,我们就
不会感受到整体页面的刷新了(IE的后退键是无效的)。
实例3:
现在我们再在这个页面中加入一个updatepanel2,在updatepanel2中加入一个label1,这个updatepanel2的
updateMode属性值是默认的Always,不改变,我们的这个例子就是让大家体会出,当Button1点击时,它所引发的Postback对
updatepanel1来说是Async-Postback动作,updatepanel1会刷新,但是因为updatepanel2的
updateMode属性值是默认的Always,那么对updatepanel2来说这个刷新就是Postback刷新,也就是
updatepanel2的刷新是会随updatepanel1的刷新的动作一并发生的,我们把label1的Text值是获取系统的当前时间这段代码写
在整体页面的Postback{}中,就会发现每次点击Button1时,label1的Text是改变的,也就是页面整体的Postback是发生的,
现在我们来观察一下整体页面是截图2:
1
publicpartial
class
UseTriggers : System.Web.UI.Page
2
{
3
protected
void
Page_Load(
object
sender, EventArgs e)
4
{
5
//
获取当前时间
6
Label1.Text
=
"
我在updatepanel2里:
"
+
DateTime.Now.ToString();
7
}
8
protected
void
Button1_Click(
object
sender, EventArgs e)
9
{
10
//
11
GridView1.EditIndex
=
2
;
12
GridView1.DataBind();
13
}
14
15
}
我们每点击一次Button1,label1的值就会变化一次,但整体页面还是局部刷新。
实例4:
下面我们把updatepanel2
的updateMode属性改成Conditional,但是在updatepanel2的Triggers中不加入任何控件触发器,目的是让大家体会
出,当updatepanel2的updateMode属性改成Conditional时,Triggers中没有的控件发生事件后,除了
updatepanel2自身控件发生事件引发updatepanel2刷新外,updatepanel2外的控件如果没有添加到Triggers中,这
些控件的所引发的Postback动作,对updatepanel2的刷新是无效的,虽然label2也是放在Postback{}中,但是缺少了文中加
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-30681-2.html
这时间
一样的价格
美国终于跳出来警告伊拉克政府
希望看到国家强盛