700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > ASP.NET AJAX 控件开发基础

ASP.NET AJAX 控件开发基础

时间:2023-03-11 05:43:23

相关推荐

ASP.NET AJAX 控件开发基础

在 JavaScript 当前广泛使用的版本中,它缺少 .NET 开发人员所熟悉的几个 OOP 的关键概念,而 AJAX 可以模拟其中的大多数,而且 AJAX 的目标是将使用 .NET 的开发人员所熟悉的某些其他构造(例如属性、事件、枚举和接口)转换成 AJAX 中的反射 API 将检查所有类型(无论是内置类型、类、接口、命名空间、或者甚至是枚举),而它们包括的类似 .NET Framework 的函数(例如 isInstanceOfType 和 inheritsFrom)可以在运行时检查类的层次结构。

下面是一个典型的AjaxControlToolkit的控件脚本,红色部分为添加的解释语句:

// (c) Copyright Microsoft Corporation.

// This source is subject to the Microsoft Permissive License.

// See /resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx.

// All other rights reserved.

Type.registerNamespace('AjaxControlToolkit'); //定义命名空间

//在 AJAX 中定义类,您需要将其构造函数赋给变量(注意,构造函数如何调用基础函数):

AjaxControlToolkit.ConfirmButtonBehavior = function(element) {

/// <summary>

/// The ConfirmButtonBehavior extends buttons by providing a confirmation dialog when clicked

/// </summary>

/// <param name="element" type="Sys.UI.DomElement" domElement="true">

/// Button the behavior is associated with

/// </param>

//调用初始化基类,类似于C++/C# base关键字

AjaxControlToolkit.ConfirmButtonBehavior.initializeBase(this, [element]);

// Confirm text

this._ConfirmTextValue = null;

// Click handler for the target control

this._clickHandler = null;

}

//通过prototype定义成员()

AjaxControlToolkit.ConfirmButtonBehavior.prototype = {

//初始化资源

initialize : function() {

/// <summary>

/// Initialize the behavior

/// </summary>

AjaxControlToolkit.ConfirmButtonBehavior.callBaseMethod(this, 'initialize');

// Attach the handler

this._clickHandler = Function.createDelegate(this, this._onClick);

$addHandler(this.get_element(), "click", this._clickHandler);

},

//释放资源

dispose : function() {

/// <summary>

/// Dispose the behavior

/// </summary>

// Detach event handlers

if (this._clickHandler) {

$removeHandler(this.get_element(), "click", this._clickHandler);

this._clickHandler = null;

}

AjaxControlToolkit.ConfirmButtonBehavior.callBaseMethod(this, 'dispose');

},

_onClick : function(e) {

/// <summary>

/// Button's click handler to display the confirmation dialog

/// </summary>

/// <param name="e" type="Sys.UI.DomEvent">

/// Event info

/// </param>

if (this.get_element() && !this.get_element().disabled) {

// Display confirm dialog and return result to allow cancellation

if (!window.confirm(this._ConfirmTextValue)) {

e.preventDefault();

return false;

}

}

},

get_ConfirmText : function() {

/// <value type="String">

/// The text to show when you want to confirm the click. (Note: HTML entities can be used here (ex: "&#10;" for new-line))

/// </value>

return this._ConfirmTextValue;

},

set_ConfirmText : function(value) {

if (this._ConfirmTextValue != value) {

this._ConfirmTextValue = value;

this.raisePropertyChanged('ConfirmText');

}

}

}

//最终注册类:

AjaxControlToolkit.ConfirmButtonBehavior.registerClass('AjaxControlToolkit.ConfirmButtonBehavior', AjaxControlToolkit.BehaviorBase);

参考:[ AJAX]类似.NET框架的JavaScript扩展

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。