c#中的Ajax上手篇---非同步请求responseXML
我们可以使用XML作为数据传送、沟通的格式,Ajax客户端若要发送XML,基本上就是将XML作为字符串,在POST请求时发送,例如:
*HelloAjax.js
view plaincopy to clipboardprint?
var xmlHttp;
function createXMLHttpRequest() {
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
function prepareXML() {
var xml = "<skills>";
var options = document.getElementById("skills").childNodes;
for (var i = 0; i < options.length; i++) {
var option = options[i];
if (option.selected) {
xml = xml + "<skill>" + option.value + "<\/skill>";
}
}
xml = xml + "<\/skills>";
return xml;
}
function handleSkills() {
var xml = prepareXML();
var url = "Handler1.ashx?timeStamp=" + new Date().getTime();
createXMLHttpRequest();
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("POST", url);
xmlHttp.setRequestHeader("Content-Type", "text/xml");
xmlHttp.send(xml);
}
var xmlHttp;
相关文档:
Buffalo是国人开发的Ajax框架
它可以使用户在js中调用java代码里的方法.
配置方法:
1. web.xml中配置相关servlet 如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ......
RenderMode属性:使用某一个元素圈出一个区域,它有两个值:— Block(默认)、Inline
Block:使用的div标记;Inline:使用的是span标记
UpdateMode属性:一个UpdateMode在某次异步回送之后,它并不一定会更新,她可能需要满足一定的条件才更新,如果一个
UpdatePanel的UpdateMode为Always(总是),则表示在某次异步传 ......
这是最常用的地址选择下拉框,包括三个下拉框,对应三个XML文件:
--------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<Provinces>
<Province ID="1" ProvinceName="北京市">北京市</Province>
<Province ID= ......
一、轻松掌握Ajax.net系列教程一:部署AJAX.NEThttp://hi.baidu.com/welllxy001/blog/item/9fd331cadcbdff8cc8176828.html
二、轻松掌握Ajax.net系列教程二:部署Ajax Control Toolkithttp://hi.baidu.com/welllxy001/blog/item/17f8fd8271c288a80df4d229.html ......
1. 适当使用UpdatePanel
2. 利用WebService方法动态生成用户控件的内容,避免UpdatePanel回传造成的性能损失(ViewState)
3. ToolkitScriptManager代替ScriptManager
4. <asp:ScriptManager runat="server" ID="sm" ScriptMode="Release" EnablePartialRendering="false"
......