随心所欲

做个幸福的人
posts - 152, comments - 1472, trackbacks - 28, articles - 0
  博客园 :: 首页 :: 新随笔 ::  :: 订阅 订阅 :: 管理
Atlas是运行在Asp.net2.0环境下的一个项目,微软的AJAX项目。
Atlas主页http://www.asp.net/default.aspx?tabindex=7&tabid=47

AJAX (Asynchronous JavaScript and XML),结合上.net2.0的功能效果自然非同凡响。网页的也不调用可以避免无谓的网页周期,使浏览速度大大加快,也可以减轻服务器的负荷;用户体验上,可以创建rich UI,制作富有表现力的网页不再那么麻烦。

安装atlas比较简单,只要有asp。net2.0,然后下在一个项目模版文件安装就可以了。

按照Atlas Quickstart Tutorials 的步骤,先开始第一个测试:异步调用WebService。

在atlas项目里面:

1:先创建一个简单的WebService
public class WebServiceT1 : System.Web.Services.WebService
{

    
public WebServiceT1()
    

    }


    [WebMethod]
    
public string TestMethod(string msg)
    
{
        System.Threading.Thread.Sleep(
1000 * 60 * 21);
        
return "the webService got it:"+msg;
    }


}

 

2:创建一个aspx页面
      首先在页面上添加一个atlas引用:
      注意里面要引用上WebService的地址。幸好2.0里面的代码自动完成功能作的比较多,不噢能够自己写太多代码,输入几个字母就有提示了。

<atlas:ScriptManager ID="ScriptManager1" runat="server" EnableScriptComponents='false'>
                
<Services>
                    
<atlas:ServiceReference Path='WebServiceT1.asmx' />
                
</Services>
            
</atlas:ScriptManager>

然后再页面上加上两个html控件:一个按钮一个文本框。双击文本框,他会自动给创建一个client端的事件,自动创建一个js函数

                
<input id="Button1" type="button" value="click me and will invoke the webservice" onclick="return Button1_onclick()" />
                
<asp:TextBox ID="TextBox1" runat="server" OnTextChanged="TextBox1_TextChanged"></asp:TextBox>

js函数

function Button1_onclick()
 
{
   WebServiceT1.TestMethod(document.getElementById(
'TextBox1').value,OnComplet,OnTimeOut);//异步调用,传递两个事件的回调函数:完成之后;超时
   
   
return true;
}

function OnComplet(result)
{
//得到返回值.这个result是个objext类型的,可以传递一个类的实例过去,比如DataTable。
  window.alert(result);
}

function OnTimeOut(result)
{
//居然也有返回值,不知道是什么
  window.alert('time out. got nothing from the server');
  window.alert(result);
}

运行测试之就可以了。

几个问题:
1:传递的类型可以是复杂类型,除了string之类也可以一个类的实例。返回值也是。
      可以这样使用:result.Name=xx。详细的介绍会在以后的“atlas数据邦定”中有。
2:好像WebService的方法必须得有一个参数。
3:也可以没有OnTimeOut处理。

 

 

 

Feedback

#1楼   回复  引用  查看    

2006-02-08 07:39 by 兰亭      
不错不错,希望能多写几篇,谢谢。

#2楼   回复  引用    

2006-02-08 10:38 by 小明明[未注册用户]
感觉atlas 要记的东西比ajax.net还要多,而且还要做web service...有点麻烦..

#3楼[楼主]   回复  引用  查看    

2006-02-08 10:50 by 随心所欲      
to:小明明
是啊,特别是数据绑定那一块,那些个xml-script很麻烦,如果这个地方改不好,atlas怕是不好推广

#4楼   回复  引用  查看    

2006-02-09 07:53 by 兰亭      
刚看过第二篇文章数据绑定,仅仅是列出两个文本值,没有任何样式,代码就那么多,的确是比较恐怖。
在AjaxPro.NET中对数据绑定不知是怎么处理的。

#5楼[楼主]   回复  引用  查看    

2006-02-09 09:44 by 随心所欲      
所以我说xml-scirpt很麻烦,这个地方的设计需要有可视化的工具和更简洁的代码,不然的话,真是不利于推广

#6楼   回复  引用    

2006-04-13 11:03 by wangxj[未注册用户]
我也是初学atlas的,我觉得xml-scirpt很麻烦,可能是不熟悉吧,它总比自己从头写js好吧。atlas控件也可以和其它控件一样,拖动到页面上。不过我觉得还是把它的语法研究明白为好。

#7楼   回复  引用    

2006-04-28 17:49 by 大鹏展翅[未注册用户]
想请教一下,WebService里到底支持事件吗? QQ:86562467

#8楼[楼主]   回复  引用  查看    

2006-05-03 16:12 by 随心所欲      
to:大鹏展翅
刚参加完微软关于atals的一个培训,他的webService代理实际上是在客户端页面完成的,也就是说,它不需要会发服务器就可以直接访问webservice。

至于你说的WebService里到底支持事件是指什么呢?

#9楼[楼主]   回复  引用  查看    

2006-05-03 16:14 by 随心所欲      
to wangxj :
atlats的ruantime做得不错,我们可以在上边做扩展。
还有,微软好像在做一些纯js的框架,期待中。

#10楼[楼主]   回复  引用  查看    

2006-05-03 16:14 by 随心所欲      
to wangxj :
atlats的ruantime做得不错,我们可以在上边做扩展。
还有,微软好像在做一些纯js的框架,期待中。



发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 326747




相关文章:

相关链接:
Google