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;
相关文档:
function delDepart(){
if(confirm("要删除部门必须删除该部门与员工的关系以及其所有下属部门")){
var departId=form1.departId.value;//部门ID
var url = "Depart/DelDepart.aspx?DepartId="+departId;
......
这是最常用的地址选择下拉框,包括三个下拉框,对应三个XML文件:
--------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<Provinces>
<Province ID="1" ProvinceName="北京市">北京市</Province>
<Province ID= ......
今天在用DataList的模板列的时候习惯性地像在03中那样去给模板列的绑定字段加个处理函数:
< asp:Label ID = " Label1 " runat = " server " Text = ' <%#ConvertState(Bind("Status"))%> ' ></ asp:Label >
可是竟然出错:当前上下文中不存在名称“Bind” ......
{
SqlConnection cnn = new SqlConnection
("context connection=true");
cnn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = cnn;
cmd.CommandText = "select * from customers";
SqlDataReader reader = cmd.ExecuteReader();
SqlContext.Pipe.Send(reader);
reader.Close();
cnn.Close();
}
......