AJAX中UpdatePanel控件属性的相关介绍
RenderMode属性:使用某一个元素圈出一个区域,它有两个值:— Block(默认)、Inline
Block:使用的div标记;Inline:使用的是span标记
UpdateMode属性:一个UpdateMode在某次异步回送之后,它并不一定会更新,她可能需要满足一定的条件才更新,如果一个
UpdatePanel的UpdateMode为Always(总是),则表示在某次异步传送之后肯定会更新,如果为Conditional,这需要UpdatePanel
满足一定的条件时才更新(编程时尽量少用Always,多用Conditional,这样减少数据传输量,提高效率)
ChildrenAsTriggers属性:是一个bool值的属性,默认值为True,触发UpdatePanel更新的一个触发器,如果ChildrenAsTriggers
为True,而且一个异步的PostBack是由UpdatePanel内部的一个控件引起的(即内部控件引起的异步PostBack),则点击这个按钮引起ajax的异步回送,这个UpdatePanel就会更新。
Triggers集合属性:是一个UpdatePanel(是一个抽象类)对象的集合,AsyncPostBackTrigger在页面上指定一个控件,
如果是该控件引起ajax异步回送(此控件在UpdatePanel内,当然控件也可以在UpdatePanel外,甚至在另一个UpdatePanel内都可以),这UpdatePanel就会更新,;PostBackTrigger也是指定某一个控件,是让那个控件引发的回送不是异步的,引发一个同步的PostBack,这个页面会进行完整的刷新。
相关文档:
在一个小型项目中,我使用了Ajax Extensions中的UpdatePanel控件,在本地调试运行时好的,可以看到ajax的异步刷新效果,但是当发布到安装了.net framework 3.5 sp1的server 2003上去之后,发现ajax效果没有了,也就是说本来的异步提交变成了非Ajax方式的POST,而且没有报告任何错误。
对比开发时和运行 ......
ajax.open方法中,第3个参数是设同步或者异步。prototype等js类库一般都默认为异步,即设为true。
先说下同步的
情况下,js会等待请求返回,获取status。不需要onreadystatechange事件处理函数。
而异步则需要
onreadystatechange事件处理,且值为4再正确处理下面的内容
......
在Web开发程序中,往往由于种种原因,客户会多次操作页面导致数据冗余或不一致, 在ASP.NET AJAX出现之前可以通过对__dopostback()的调用等方法也可以防止页面多次提交。
在ASP.NET AJAX中的页面客户端中有一个叫onInitializeRequest的事件,它在页面初始化之前触发,可以对页面的提交事件进行控制,并且可以调用该事件参 ......
<html>
<body>
<script language="JavaScript">
var req = null;
function test() {
var province = document.all("province").value;
req = new ActiveXObject("Microsoft.XMLHTTP ......