编者按:从Atlas到Microsoft ASP.NET AJAX 1.0 RC发生了很大的变化,鉴于目前网上Microsoft ASP.NET AJAX 1.0 RC中文资料的匮乏,本文针对Atlas中PageMethods的变化编写了客户端调用服务器端方法的新的教程。以前处于Microsoft.Web.Preview组件中的Microsoft.Web.Resources.ScriptLibrary.PreviewGlitz.js现在已经更改,需要使用新的方式实现,详细请参考本文。
关键字:PageMethods ScriptLibrary ASP.NET AJAX 1.0 RC
Microsoft ASP.NET AJAX可以很方便的让我们在客户端使用脚本调用ASP.NET Web Services(.asmx),要启用这一特性,像前面提到的一样,必须要配置Web.Config,可以参照Microsoft ASP.NET AJAX安装目录下的Web.Config,如果是通过ASP.NET AJAX-enabled Web site模版建立的站点,则不需要再进行设置了。配置节点如下:






以上配置节为Web应用程序添加了一个HTTP handler:ScriptHandlerFactory,它的作用是处理脚本调用Web Service的请求,如果是非脚步对.asmx的调用请求,则转给默认的处理器。
使用脚本调用服务器方法有两种方式,一种是调用常规的ASP.NET Web Service,另一种直接调用页面代码页上的方法。两种方式都非常简单,对于前者,我们只需在现有的Web Service上增加一个属性:

而对于页面上的方法,只需给现有方法增加如下特性,并改为静态方法:

下面我们分别对其进行详细讨论。
Web Service方式
首先为项目添加一个文件夹WebServices,来存放所有要用到的Web Servcie页面,然后在Web Services文件夹下面添加一个 Web Service命名为SimpleWebService.asmx,在后台增加一个SayHello方法,并指定WebMethod特性。完整的代码如下:
SimpleWebService.cs




















然后添加一个Web Form,这里取名ServiceMethodDemo.aspx,添加一些JavaScript函数调用Web Service,完整代码如下:









































最后在浏览器中查看,可以看到我们期望的效果,在页面的文本框中输入你的名字,点击按钮,页面显示出
Hello xxx!
Page Method 方式
如果不想独立创建Web Service,而只是希望能够调用页面上的一些方法,那么可以采用Page Method的的方法。同样的我们添加一个页面PageMethodDemo.aspx,增加一些JavaScript和一个后台方法,注意这个方法必须是静态方法,代码如下:


































代码页PageMethodDemo.aspx.cs





【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架