ajax扩展控件 灰,创建AJAX扩展程序控件.doc

创建AJAX扩展程序控件

创建扩展程序控件以将客户端行为与 Web 服务器控件关联

ASP.NET 中的 AJAX 功能使您能够扩展 Web 应用程序的功能以创建丰富的用户体验。可以使用 Web 浏览器的 ECMAScript (JavaScript)、DHTML 和 AJAX 功能,提供可视化效果、客户端处理(如验证)等。

本教程演示如何创建一个用于封装客户端行为并将其链接到 Web 服务器控件的扩展程序控件。客户端行为可将功能添加到浏览器的文档对象模型 (DOM) 元素中。然后,将扩展程序控件与一个或多个类型的 ASP.NET 服务器控件关联,以将此行为添加到这些服务器控件中。可以将多个扩展程序控件与一个 ASP.NET 服务器控件关联。

在本教程中,您将了解如何执行以下操作:

创建一个封装客户端行为的扩展程序控件,并将该控件附加到 ASP.NET 网页上的 Web 服务器控件中。

创建与 Web 服务器扩展程序控件关联的客户端行为。

通过使用客户端行为来处理浏览器 DOM 中的事件。

说明也可以向 ASP.NET 服务器控件添加丰富的客户端功能,而无需单独的扩展程序控件。有关如何创建包含本教程中演示的相同客户端功能的 Web 服务器控件的示例,请参见向 Web 服务器控件添加客户端功能。将自定义扩展程序控件编译到一个程序集中,并将关联的 JavaScript 文件作为资源嵌入到同一程序集中。

在支持 AJAX 的 ASP.NET 网页中引用已编译的自定义扩展程序控件。

标识客户端要求

本教程实现一个简单的客户端行为,当某个控件(例如 TextBox 或 Button 控件)在浏览器中被选定(或具有焦点)时,此客户端行为会在网页上突出显示该控件。例如,该控件在具有焦点时可能更改背景色,然后在焦点移动到另一个控件时返回到默认颜色。

若要实现此行为,本教程中的客户端控件需要下表中列出的功能。

必需的功能实现用于突出显示 DOM 元素的方法。为了在 ASP.NET 网页中突出显示 DOM 元素,客户端控件应用一个用类名称标识的级联样式表 (CSS) 样式。此样式可由用户配置。用于将 DOM 元素返回到其非突出显示状态的方法。为了从 ASP.NET 页中移除对 DOM 元素的突出显示,客户端控件应用一个用类名称标识的 CSS 样式。此样式可由用户配置并作为默认样式应用于 DOM 元素。用于标识何时选定 DOM 元素的方法。为了标识 DOM 元素何时被选定(具有焦点),该控件将处理 DOM 元素的 onfocus 事件。用于标识何时不选定 DOM 元素的方法。为了标识何时不再选定某个控件,该控件将处理 DOM 元素的 onblur 事件。创建扩展程序控件

若要封装供 ASP.NET 页开发人员使用的客户端行为,可以使用扩展程序控件。扩展程序控件是继承了 System.Web.UI 命名空间中的 ExtenderControl 抽象类的 Web 服务器控件。扩展程序控件可应用于特定的 Web 服务器控件类型。通过使用 TargetControlTypeAttribute 特性标识可以应用扩展程序控件的 Web 服务器控件的类型。

本教程中的扩展程序控件可应用于任何类型的 Web 服务器控件。下面的示例演示类定义。

[TargetControlType(typeof(Control))]

public class FocusExtender : ExtenderControl

新的扩展程序控件包括两个用于实现客户端要求的属性:

HighlightCssClass,用于标识在 DOM 元素具有焦点时对其应用的 CSS 类以便突出显示该控件。

NoHighlightCssClass,用于标识在 DOM 元素没有焦点时对其应用的 CSS 类。

继承 ExtenderControl 抽象类

下表列出了必须在扩展程序控件中实现的 ExtenderControl 抽象类的成员。

成员说明GetScriptDescriptors返回一个表示 ECMAScript (JavaScript) 客户端组件的 ScriptDescriptor 对象的集合。其中包括要创建的客户端类型、要分配的属性和要向其添加处理程序的事件。GetScriptReferences返回 ScriptReference 对象的集合,这些对象包含有关要与该控件一起包括的客户端脚本库的信息。这些客户端脚本库定义客户端类型,并包括该控件所需的任何其他 JavaScript 代码。本教程中的扩展程序控件使用 GetScriptDescriptors()()()() 方法来定义客户端行为类型的实例。该控件创建新的 ScriptBehaviorDescript

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值