首页 / 网页编程 / ASP.NET / 将UpdatePanel控件用于Web服务
        
            将UpdatePanel控件用于Web服务2012-02-24 MSDN UpdatePanel 控件可以简化 ASP.NET 网页的部分页呈现,因为 ASP.NET 的 AJAX 功能可自动管理异步回发请求和更新。您还可利用 AJAX 功能,在浏览器中通过使用 ECMAScript (JavaScript) 来调用 ASP.NET Web 服务。通过使用客户端脚本来调用 Web 服务的优点之一是等待 Web 服务请求的响应时不会阻塞浏览器。用户可以继续工作,而不用等待 Web 服务处理完毕请求。先决条件若要在您自己的开发环境中实现这些过程,您需要:Microsoft Visual Studio 2005 或 Visual Web Developer 速成版。一个支持 AJAX 的 ASP.NET 网站。访问 Northwind 数据库和 Web.config 文件中定义的名称为 NorthwindConnectionString 的连接字符串。创建 Web 服务首先,创建一个可调用的 Web 服务。创建 Web 服务以返回产品数量在支持 AJAX 的 ASP.NET 网站中,创建一个名称为 ProductQueryService.asmx 的新 Web 服务文件。在 Web 服务代码中,导入 N:System.Data、N:System.Data.SqlClient、System.Configuration 和 N:System.Web.Script.Services 命名空间。Imports System.Data 
Imports System.Data.SqlClient
Imports System.Configuration
Imports System.Web.Script.Services这些命名空间的类型将用于您将要创建的 Web 服务方法中。将 ProductQueryService 类放入名为 Samples 的命名空间中。给类添加 ScriptServiceAttribute 属性。此属性使得可从客户端脚本调用 Web 服务。使用下面的 GetProductQuantity 方法替换默认 HelloWorld 方法。<WebMethod()> _
Public Function GetProductQuantity(ByVal productID As String) As String 
   Dim cn As SqlConnection = _
     New SqlConnection(ConfigurationManager.ConnectionStrings("NorthwindConnectionString").ConnectionString)
   Dim cmd As SqlCommand = _
     New SqlCommand("SELECT [UnitsInStock] FROM [Alphabetical list of products] WHERE ([ProductID] = @ProductID)", cn)
   cmd.Parameters.AddWithValue("productID", productID)
   Dim unitsInStock As String = ""
   cn.Open()
   Using dr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)
     Do While dr.Read()
       unitsInStock = dr(0).ToString()
     Loop 
   End Using 
   System.Threading.Thread.Sleep(3000)
   Return unitsInStock 
End Function