下面是在除开了 AsyncPostBackTrigger 和 PostBackTrigger 情况的影响,也就是上面的两个情况在UpdatePanel里面没有做设置。
假设已知的UpdatePanel用up1来表示:
1. UpdateMode="Always" ChildrenAsTriggers="True"
- up1 内部控件可对 up1 内部控件实现异步回送。
- 其它 UpdatePanel 内部控件可对 up1 内部控件实现异步回送。
- UpdatePanel 之外的控件不可对 up1 内部控件实现异步回送。
2. UpdateMode="Always" ChildrenAsTriggers="False"
- 不允许这种设置。
3. UpdateMode="Conditional" ChildrenAsTriggers="True"
- up1 内部控件可对 up1 内部控件实现异步回送。
- 其它 UpdatePanel 内部控件不可对 up1 内部控件实现异步回送。
- UpdatePanel 之外的控件不可对 up1 内部控件实现异步回送。
4. UpdateMode="Conditional" ChildrenAsTriggers="False"
- up1 内部控件不可对 up1 内部控件实现异步回送。
- 其它 UpdatePanel 内部控件不可对 up1 内部控件实现异步回送。
- UpdatePanel 之外的控件不可对 up1 内部控件实现异步回送
在asp.net ajax中很重要的控件——UpdatePanel控件,放在这个容器里的能够PostBack的服务器控件都可以实现异步的Postback,这里介绍下需要注意的UpdateMode属性:
当UpdateMode设为Always时,不管页面上有几个UpdatePanel,只要有任何一个UpdatePanel中的控件出发了异步的Postback,页面上每一个UpdatePanel中的内容都会尝试刷新;
当UpdateMode设为Conditional时,则由以下几种情况而定:
1.若是该UpdatePanel内的控件所触发的异步Postback;
2.若是明确地调用了该UpdatePanel控件的Update()方法时;
3.若是嵌套方式建立时,父级的UpdatePanel发生刷新时;