进入旧版 | 服务项目 | 成功案例 | 联系方式 | 过客留言 | 友情链接
   
设为首页
加入收藏
联系我们
网站首页 | 新闻资讯 | 操作系统 | 办公软件 | 网络软件 | 工具软件 | 媒体动画 | 网页制作 | 网站开发 | 程序开发 | 平面设计
Photoshop视频教程 | Word入门 | Flash入门 | JScript | VBScript | ASP | PHP | ADO | 网页特效 | 3DS MAX6.0命令 | 系统进程
您当前的位置:GOODSGY电脑学习网 -> 程序开发 -> .Net -> 文章内容  
使用ASP.NET AJAX框架扩展HTML Map控件

www.goodsgy.com

  四、 创建客户端定制类 www.goodsgy.com

  我们知道ASP.NET AJAX框架的重大“发明”之一就是,它引入了面向对象的JavaScript编程模型。现在,借助于JavaScript设计模式,我们可以轻松地创建自己的模板或类,加入继承概念,创建接口与枚举等。www.goodsgy.com

  在本文中,我们将开发一个封装所有本示例中要求功能的客户端类。www.goodsgy.com

  现在,右击工程,并新添加一个名为ImageMap的JavaScript文件。在此文件中,我们将定义一个新的命名空间MyServices;这个命名空间将包含我们要开发的客户端类。如下所示:www.goodsgy.com

以下是引用片段:
Type.registerNamespace("MyServices");
www.goodsgy.com

  接下来,我们定义要创建的客户端类的构造函数:www.goodsgy.com

以下是引用片段:www.goodsgy.com

MyServices.Location = function (uiElement, uiBody) {
MyServices.Location.initializeBase(this);
this._uiElement = uiElement;
this._uiBody = uiBody;
this._xAxis = 0;
this._yAxis = 0;
}www.goodsgy.com

www.goodsgy.com

  一个模板或类的构造函数也只不过是一个普通的JavaScript函数。该构造器共有两个参数:uiElement和uiBody。www.goodsgy.com

  这两个参数都将用于描述在页面显示的弹出窗口。另外两个私有变量_xAxis和_yAxis用于描述弹出窗口的显示位置。典型情况下,我们最好在构造器中声明所有的私有成员。www.goodsgy.com

  接下来,我们将使用原型设计模式编写该类中的成员函数和属性:www.goodsgy.com

以下是引用片段:www.goodsgy.com

MyServices.Location.prototype =
{
  get_uiElement: function()
  {
    return this._uiElement;
  },
   set_uiElement: function(value)
  {
    this._uiElement = value;
  },
  get_uiBody: function()
  {
    return this._uiBody;
  },
   set_uiBody: function(value)
  {
    this._uiBody = value;
  },www.goodsgy.com

www.goodsgy.com

  注意,这里的UI元素属性方法的定义方式非常类似于.NET中各种语言中的定义形式。www.goodsgy.com

  下面的成员函数是我们的重点,它负责调用远程的Web服务:www.goodsgy.com

以下是引用片段:
  ShowPopupinf function(event, areaName)
{
  MyServices.LocationService.GetAreaInfo(areaName,
  Function.createDelegate(this, this.OnCompleted),
  this.OnError,  //负责进行错误处理的回叫函数
  this.OnTimeOut); //负责进行超时处理的回叫函数
  this._xAxis = event.clientX;
  this._yAxis = event.clientY;
}
www.goodsgy.com

  上面的代码展示的是非常典型的从客户端调用Web服务的方法:www.goodsgy.com

  1)形式与调用一个普通的本地方法几乎一样方便;www.goodsgy.com

  2)Function.createDelegate函数是ASP.NET AJAX客户端开发中的极为重要的全局函数。创建此函数的原始目的之一是解决this关键字的问题。在一个由一个DOM元素引发的事件处理器中,this关键字总是引用此DOM元素而不是类本身。但在此,我们使用这个函数的理由是,使得AJAX环境在与激发Web服务的相同的类实例中调用成功时的回叫函数。当你需要引用客户端类的属性和方法时,这是相当重要的。简言之,使用此函数将使得访问调用Web服务的客户端类的属性和方法安全而准确。否则,进行异步调用的客户端类实例将为null,因为Web服务的响应是在另一个不同的上下文中执行的—这个上下文不再等同于发出异步Web调用请求的那个上下文。www.goodsgy.com

  3)有意思的是,这里的GetAreaInfo方法并不是我们在前面创建的Web服务中的那个,而是属于在运行时刻创建的Web服务代理类—此代理类作为一个客户端代理访问服务器端的ASMX Web服务。www.goodsgy.com

上一页  [1] [2] [3] [4]  下一页

在百度中搜索:使用ASP.NET AJAX框架扩展HTML Map控件
在Google中搜索:使用ASP.NET AJAX框架扩展HTML Map控件
在Yahoo中搜索:使用ASP.NET AJAX框架扩展HTML Map控件

收藏到网摘:新浪VIVI 365key 我摘 POCO网摘 博采中心 YouNote 和讯网摘 天天收藏
[] [返回上一页] [打 印] [收 藏]

 相关文章    最新文章
· [组图] 简单使用PS历史画笔快速美化照片
· [图文] WPS演示中应用荧光笔的使用技巧
· WinServer 2008下调教IE使用有巧招
· 消除使用QQ后带来的安全隐患
· [图文] 网页标准制作:使用ul多行多列布局..
· 高效使用Linux的七个习惯
· 普通用户Excel使用VBA的几个误区
· [图文] Excel使用技巧:分列功能的妙用
· [图文] Excel技巧:使用中国式排名效果
· 选择使用新版Excel 2007的10条理由
 
· ASP.Net实现将Word转换PDF格式
· C#中的数字格式化、格式日期格式化
· 在ASP.NET中跨页面实现多选
· Asp.net编程中的数组基础实例学习
· [组图] ASP.NET构架与安全机制之Http请求处..
· ASP.NET如何保留两位小数点
· Visual C#多线程参数传递浅析
· 在Visual C#中定义和使用自己的特性
· [图文] 利用C#远程存取Access数据库
· 用VB.NET 2005编写定时关机程序

∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论…]
站内搜索

精彩图文
  网站导航  
操作系统 办公软件 网络软件
Vista Windows2003 WindowsXP Windows2000/NT Windows9X/ME Linux 其他 Word Excel Powerpoint Outlook 金山系列 其他 网页浏览 上传下载 联络聊天 邮件工具 服务器软件 网络辅助
工具软件 媒体动画 网页制作
系统工具 媒体工具 压缩工具 图文处理 文件管理 其他 3DMAX Authorware Director Maya 视频处理 其他 Flash Dreamweaver FireWorks FrontPage LiveMotion Golive HTML/CSS 其它
网站开发 平面设计 程序设计
ASP JSP PHP CGI JavaScript VBScript XML/SOAP Web服务器 Photoshop PhotoImpact CorelDraw Illustrator Freehand 设计欣赏 其他 VB VC .NET C/C++ DELPHI JAVA

冀ICP备05019428号
Copyright © 2004-2008 电脑学习网 Inc.All rights reserved.
TEL:13832340607
QQ:39873155
E_Mail:goodsgy(#)hotmail.com   (把(#)替换成@)
MSN:goodsgy(#)hotmail.com   (把(#)替换成@)