当前位置:首页 > 轻松掌握Ajax.net系列教程四:用Ajax.net实现客户端回调(Callback)

轻松掌握Ajax.net系列教程四:用Ajax.net实现客户端回调(Callback)

点击次数:830  更新日期:2010-12-29
\n

本章主要介绍怎样用Ajax.net实现Callback技术。大家都知道Callback技术是Asp.net 2.0的新技术,它是Ajax.net出来之前的一个过渡技术。使用它也能实现类似Ajax般的无刷新技术,但是由于使用比较麻烦,限制比较多,当Ajax.net框架出来之后Callback技术就被冷落了。但所有技术都有它存在的价值和意义,在某些时候,特别是小型数据传输的时候,使用Callback技术比用Ajax效率更高,而且在Ajax.net框架下使用Callback技术,页面不用继承ICallbackEventHandler接口,步骤也简单很多。现在在下就讲一下怎样在Ajax.net框架下使用Callback技术。


\n

第一步:创建WebService


\n

在Ajax.net框架下使用Callback技术需要用WebService作为数据传输的载体。我们先建立一个Asp.net Ajax-Enabled Web Site。然后添加一个新的WebService并命名为SimpleService.asmx。


\n

然后我们写一个简单WebService,记得一定要加上System.Web.Script.Services.ScriptService属性,否则我们不能在客户端访问该WebService。


\n

具体的代码如下图:


\n


\n

这是一个非常简单的WebService,在下只简单改了HelloWorld的代码。当我们运行该WebService,随便输入一个名字时,我们会得到“Hello,somenames”这样的一个反馈信息。


\n

运行一下,如果可以看到以下效果,那么我们的SimpleService.asmx就完成了。


\n


\n


\n


\n

第二步:调用WebService


\n

我们回到Default.aspx,由于我们建立的是Asp.net Ajax-Enabled Web Site,因此Default.aspx上已经自动生成了ScriptManager组件代码。我们要对它作一些修改,如下所示:


\n

<asp:ScriptManager ID=”ScriptManager1runat=”server” >
<Services>
<asp:ServiceReference Path=”SimpleService.asmx” />
</Services>
</asp:ScriptManager>


\n

加粗的地方要写正确WebService的文件名。


\n

修改完ScriptManager的设置后,我们就可以开始编写JavaScript来callback这个WebService了。


\n

我们先在设计界面里拖进一个HtmlInputText控件和一个HtmlInputButton控件,然后双击Button控件写代码。


\n

具体代码如下:


\n
<script language=”javascript” type=”text/javascript“>
// <!CDATA[

\n