通常使用ScriptManager的局部刷新是和Updatepannel一块使用,来达到局部刷新的效果。好处是显而易见的,但由此带来的缺点违背了ajax的初衷。是否ScriptManager就不能实现小数据量的更新那?当然不是!
ScriptManager 控件管理支持 AJAX 的 ASP.NET 网页的客户端脚本。默认情况下,ScriptManager 控件会向页面注册 Microsoft AJAX Library 的脚本。这将使客户端脚本能够使用类型系统扩展并支持部分页呈现和 Web 服务调用这样的功能。
Web服务分成两种
1、建立.asmx的web服务,然后从脚本访问
2、在ASP.NET 网页中调用静态方法(和ajaxpro.dll的使用方法类似),即不需要建立单独的web服务
下面引用msdn原文看看如何实现的
向客户端脚本公开 Web 服务
利用 ASP.NET 的 AJAX 功能,可以在浏览器中使用客户端脚本来调用 ASP.NET Web 服务(.asmx 文件)。这可以改善用户在使用 Web 应用程序时的体验。页面可以在不进行回发和刷新整个页面的情况下调用基于服务器的方法,因为浏览器与 Web 服务器之间只传输数据。
本主题描述如何向在浏览器中运行的 JavaScript 提供 Web 服务。
ASP.NET 自动为 Web 服务创建 JavaScript 代理类。这些代理类派生自 Sys.Net.WebServiceProxy 类。可以通过调用 JavaScript 代理类的相应方法来调用 Web 服务方法。有关更多信息,请参见从客户端脚本调用 Web 服务。
为了使 Web 服务能够从脚本访问,该服务必须是使用 ScriptServiceAttribute 属性限定其 Web 服务类的 .asmx Web 服务。从脚本调用的各个方法必须使用 WebMethodAttribute 属性限定。
下面的示例演示了 Web 服务代码中的这些属性。
若要实现从脚本调用 Web 服务,必须在应用程序的 Web.config 文件中注册 ScriptHandlerFactory HTTP 处理程序。该处理程序处理从脚本发出的对 .asmx Web 服务的调用。下面的示例演示用于添加处理程序的 Web.config 元素。
|
|
|---|
这些配置设置已经包含在您在 Microsoft Visual Studio 2005 中创建的任何支持 AJAX 的新网站的 Web.config 文件模板中。 |