简介及目标
在这篇文章中,我们会尝试了解直接消耗在Ajax Web服务的4个重要步骤。在此示例中,我们将创建一个简单的客户的组合框,如下图所示。此客户组合框,将由调用Web服务方法。直接的客户Web服务
{S0}
这里是我为我所有的网友们的小礼物,其中包括各种如天青,WCF,世界自然基金会(WWF)的Silverlight,WPF中,SharePoint和很多more.nbsp NET技术。 视频教程
这整篇文章还展示了在视频格式,您可以查看从。简介
通常的Web服务消费情况如下图所示。浏览器的AJAX控件调用ASP.NET的代码和ASP.NET代码消耗Web服务。但也有情况下,您想直接从Ajax的JavaScript功能,而不是通过后面的代码调用的Web服务调用。本文将展示我们如何可以实现相同的
NBSP。的;{S1}步骤1:创建您的客户Classnbsp;
第一步是创建客户类,如下所示。因此,我们的客户类有4个客户ID,名称,地址和指定的属性。
第2步:创建Web服务public class Customers
{
// private properties
private int _intCustomerID;
private string _strFirstName;
private string _strAddress;
private string _strDesignation;
// Public property and
public int CustomerID
{
get
{
return _intCustomerID;
}
set
{
_intCustomerID = value;
}
}
public string FirstName
{
get
{
return _strFirstName;
}
set
{
_strFirstName = value;
}
}
下一步,我们需要创建的Web服务,这暴露了客户我们的UI类。下面是一个简单的Web服务封装了客户收集。在构造函数中,我们如下面的代码片断所示的客户名单加载到一些虚拟的数据:
{C}
我们也暴露出两个功能通过Web服务,给出了一个客户列表,另一个使个别客户的数据基础上的客户ID。第三步:使用ASP参考您的Web服务:将ServiceReference
使用代码> ASP:??的ServiceReference??然后,我们会点到ASMX文件的路径,如下面的代码片断所示。这将生成可用于调用客户对象的JavaScript代理。
第4步:调用WebService和JavaScript代码<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="Customer.asmx" />
</Services>
</asp:ScriptManager>
一旦你已经定义的代理,你现在可以调用代码>客户代理直接进行方法调用
NBSP的???;function LoadAll()
{
Customer.LoadCustomers(LoadCustomerToSelectOption, ErrorHandler, TimeOutHandler);
}
当你调用JavaScript代理对象,我们需要提供三个功能;??第一个函数(代码> LoadCustomerToSelectOption将被称为Web服务时完成并返回数据,这些数据将在返回的??填写变量将被循环和客户组合框添加到。function LoadCustomerToSelectOption(Fill)
{
var select = document.getElementById("cmbCustomers");
for (var i = 0; i < Fill.length; i++)
{
var value = new Option(Fill[i].FirstName, Fill[i].CustomerID);
select.options.add(value);
}
}
有两个附加功能;一个处理错误和其他负责处理超时。下面是相同的代码片段:
历史
2010年2月,战后初期function ErrorHandler(result)
{
var msg = result.get_exceptionType() + "\r\n";
msg += result.get_message() + "\r\n";
msg += result.get_stackTrace();
alert(msg);
}
function TimeOutHandler(result)
{
alert("Timeout :" + result);
}