借用了梅花兄的一个惯用语:急速狂飙.
首先我来说说对ajax.net和atlas的比较吧!免得朋友们在一些方面犯和我同样的错误,当然,这也仅仅代表了我的体会和个人观点
1,如果你是使用forms验证,在一个未容许的页面会出现js名字空间未定义的错误,这对于ajax.net还是atlas来说都是一样的,解决办法是先容许所有用户,再单独在web.config里面设置权限
2,在速度,性能,稳定性上面atlas稍微比ajax.net胜一筹.
3,ajax.net支持同步传输数据,也支持异步传输数据,但是atlas只支持异步传输数据,所以你如果想控制js代码的流程的话ajax.net比atlas要强,但是ajax.net 在异步传输上有个特点,不容许在同一时间多次调用同一服务器类,我的解决办法是另外写个类
4,ajax.net和atlas都能够从服务器返回个DataTable,但是在客户端接收的方法不同,下面是一个小例子,假设var dt =服务器返回的DataTable
对于ajax.net 的方法是:
if(dt.Rows.length>0)
      {
         a.style.display="";
         a.innerHTML="";
         for(var row=0;row<dt.Rows.length;row++)
         {
            var cur = dt.Rows[row];
            a.innerHTML+="<li><a href='javascript:void(0)' type="+cur.this_url+" id="+cur.this_id+" onclick='getRssNews(this.type,this);' oncontextmenu='return showMyRightRssDiv(event);' onfocus='this.blur();'>"+cur.this_title+"</a></li>";
            document.getElementById("pageIndexTd").innerHTML="&nbsp;";
         }
      }
在ajax中取得服务器返回的datatable的 行数是dt.Rows.length,但是atlas是dt.get_length()
在ajax.net中得到某一行是dt.Rows[i],而atlas是dt.getItem(i)
在ajax.net中得到某行某列是dt.Rows[i].title,其中 title是列名,而atlas是dt.getItem(i).getProperty("title"),其中title是列名