安全中国首页 > 编程中心 > .NET编程
 
安全中国网友投稿专用上传FTP空间:
Ftp服务器:download.anqn.com
Ftp端口:21
用户名:anqn
密 码:anqn.com
 

ASP.NET 2.0 Ajax:处理异步调用中的异常[2]

更新时间:2008-7-27 14:37:08
责任编辑:ShellExp
热 点:

  让我们先从服务器端的Web Service入手。将该Web Service命名为MathService,并在其中定义了一个名为Divide()的方法,用来执行除法操作。Divide()方法所接受的两个参数分别代表被除数和除数,其逻辑非常简单,代码如下:
  [WebService(Namespace = "http://tempuri.org/")]
  [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
  [ScriptService]
  public class MathService : System.Web.Services.WebService
  {
  [WebMethod]
  public int Divide(int a, int b)
  {
  return (int)(a / b);
  }
  }

  这里有必要再次提醒一下,Web Service类要添加[ScriptService]属性,其中需要暴露给客户端的方法也要添加[WebMethod]属性——这些都是允许从客户端调用该Web Service代理的必要条件。

  在ASP.NET页面中,添加ScriptManager控件以及上述Web Service的引用:
  然后在ASP.NET页面中定义程序的界面:

  其中前两个(id分别为tbA和tbB)用来让用户输入被除数和除数;第三个(id为btnInvoke)则作为按钮(type="button")用来触发对服务器端Web Service的调用,并显示除法完成后的商;下面id为result的

  用来显示可能出现的异常信息。

  btnInvoke的click事件的处理函数为btnInvoke_onclick(),其代码如下:
  function btnInvoke_onclick() {
  var a = $get("tbA").value;
  var b = $get("tbB").value;
  MathService.Divide(a, b, onSucceeded, onFailed);
  }

  注意其中粗体部分,即调用Web Service客户端代理的一行。其中不但传入了被除数和除数(a和b),还传入了成功调用后的回调函数onSucceeded以及失败时的回调函数onFailed。

  成功调用时的回调函数onSucceeded()比较简单,这里不赘:
  function onSucceeded(result) {
  $get("btnInvoke").value = result;
  $get("result").innerHTML = "";
  }

 
学习软件编程开发技术,推荐加入以下软件编程培训班:
易语言软件编程培训班(简单易学)  Delphi软件编程培训班  VC++软件编程培训班
VB软件编程培训班  JAVA高端编程就业研发班

学习网站开发制作技术,推荐加入以下网站开发培训班:
ASP.net网站开发项目实战班  ASP语言网站建设培训班

学习网络安全入侵防护技术,推荐加入以下技术培训班:
大型网络安全入侵防护班  网站脚本程序全方位安全检测班

学习网络管理、网吧运营维护技术(网管),推荐加入以下培训班:
大型网吧技术管理人才特训班  Linux网络嵌入架构工程师培训班

学习专项特殊技术,推荐加入以下专项技术培训班:
软件与游戏外挂脱壳破解班(逆向工程)  赚钱王道-网赚技能培训班  Flash动画设计师就业特训班

 
相关编程
一日一文章
 
一日一软件
一日一动画