谈谈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
                   {