日期:2014-05-18  浏览次数:20792 次

谈谈c#中的XML ajax
XML ajax在c#的web项目中是否很常用? 一般在什么情况用?要怎么学呢?

------解决方案--------------------
楼主是指XML WEB Services + AJAX的结合?
AJAX的话微软有写过一套控件,就是updatepanel了,使用起来也很简单,只要一拉。。。。
具体百度asp.net ajax
------解决方案--------------------
开发工具升级到VS2008 里面有自带的控件
------解决方案--------------------
XML ajax在c#的web项目中是否很常用?
现在的项目中经常用到,当然也要根据项目需求
 一般在什么情况用?
web service实现分布式系统的选择。而ajax实现数据无刷新效果,
仍然看项目需要

要怎么学呢?

下载ajax相关组件,按照提供的范例程序,学习。

------解决方案--------------------
ajax主要是可以提供友好的用户体验
我在工作中经常用的两种方法是
1、前台:XMLHttpRequest对象 + 后台:ashx文件;
2、ICallbackEventHandler接口(vs2005后才有的)
------解决方案--------------------
UpdatePannel确实是一个好东西。。。


------解决方案--------------------
我用 纯 AJAX ,也用 prototype,xml ,json ,jquery asp.net ajax 原理都一样。

==客户端==
var req=null;

function processReqChange2()
{
if(req.readyState==4 && req.status==200)
{
var dtable=document.getElementById('tshow');

var nl = req.responseXML.getElementsByTagName( 'book' );
for( var i = 0; i < nl.length; i++ )
{
var nli=nl.item(i);
var eauthor=nli.getElementsByTagName('author');
var author=eauthor.item(0).firstChild.nodeValue;
var etitle=nli.getElementsByTagName('title');
var title=etitle.item(0).firstChild.nodeValue;

var elTr = dtable.insertRow( -1 );
var elAuthorTd = elTr.insertCell( -1 );
elAuthorTd.innerHTML = author;
var elTitleTd = elTr.insertCell( -1 );
elTitleTd.innerHTML = title;
}
}
}
function processReqChange3()
{
if(req.readyState==4 && req.status==200)
{
var objdiv=document.getElementById('result');
var dtable=document.getElementById('tshow');


var books = eval(req.responseText);
for(var b in books)
{
var elTr = dtable.insertRow( -1 );

var elAuthorTd = elTr.insertCell( -1 );
elAuthorTd.innerHTML = books[b].author;

var elTitleTd = elTr.insertCell( -1 );
elTitleTd.innerHTML = books[b].title;
}


}

function loadUrl(url,f)
{
if(window.XMLHttpRequest)
{
try
{
req=new XMLHttpRequest();
}
catch(e)
{
req=false;
}
}
else if(window.ActiveXObject)
{
try
{
req=new ActiveXObject('Msxml2.XMLHTTP');
}
catch(e)
{
try
{