探索ASP.NET AJAX扩展与Silverlight技术
1. ASP.NET AJAX对JavaScript的扩展
ASP.NET AJAX为JavaScript提供了一系列扩展,涵盖数组、布尔值、日期、错误、数字和字符串等方面。
1.1 数组操作
-
出队操作
:使用
Array.dequeue命令可移除数组的第一个元素,适用于实现先进先出列表。示例代码如下:
var a = ['Item 1', 'Item 2', 'Item 3', 'Item 4'];
var b = Array.dequeue(a);
// b将包含 'Item 2', 'Item 3', 'Item 4'
-
遍历数组
:
Array.forEach函数可对数组中的每个元素调用指定函数。它接受三个参数:数组对象、要调用的函数和上下文。示例代码如下:
var result = '';
var a = ['Item 1', 'Item 2', 'Item 3', 'Item 4'];
Array.forEach(a, buildString, ":");
function buildString(element, index, array) {
result += element + this + index + ",";
}
// 输出 'Item 1:0, Item2:1, Item3:2, Item4:3'
-
查找特定元素
:
indexOf函数可查找数组中特定元素的位置,接受三个参数:要搜索的数组、要查找的元素和可选的起始索引。示例代码如下:
var a = ['Item 1', 'Item 2', 'Item 3', 'Item 4'];
var b = Array.indexOf(a, 'Item 2');
// 返回 '1'
-
插入元素
:
insert函数可在数组的指定位置插入元素,接受三个参数:要插入元素的数组、插入位置和要插入的元素。示例代码如下:
var a = ['Item 1', 'Item 2', 'Item 3', 'Item 4'];
Array.insert(a, 1, 'Item 1a');
// 结果: 'Item 1', 'Item 1a', 'Item 2', 'Item 3', 'Item 4'
-
移除元素
:有两种方法可移除数组中的元素。
remove方法接受一个元素作为参数,移除数组中该元素的第一个实例;removeAt函数接受一个索引作为参数,移除该索引位置的元素。示例代码如下:
var a = ['Item 1', 'Item 2', 'Item 3', 'Item 4'];
Array.remove(a, 'Item 2');
// 移除 'Item 2'
var a = ['Item 1', 'Item 2', 'Item 3', 'Item 4'];
Array.removeAt(a, 1);
// 也移除 'Item 2'
| 操作 | 函数 | 参数 | 示例 |
|---|---|---|---|
| 出队 |
Array.dequeue
| 数组 |
Array.dequeue(a)
|
| 遍历 |
Array.forEach
| 数组、函数、上下文 |
Array.forEach(a, buildString, ":")
|
| 查找 |
indexOf
| 数组、元素、起始索引(可选) |
Array.indexOf(a, 'Item 2')
|
| 插入 |
insert
| 数组、索引、元素 |
Array.insert(a, 1, 'Item 1a')
|
| 移除 |
remove
| 数组、元素 |
Array.remove(a, 'Item 2')
|
| 移除 |
removeAt
| 数组、索引 |
Array.removeAt(a, 1)
|
1.2 布尔类型扩展
布尔类型扩展为JavaScript中的布尔值提供了更熟悉的方式,除了传统的
true
和
false
枚举,还可通过
parse
函数快捷实例化布尔值。示例代码如下:
var a = new Boolean(true);
var b = new Boolean(false);
if (a == true) {
// 执行某些操作
}
var c = Boolean.parse("true");
if (c == true) {
// 执行其他操作
}
1.3 日期类型扩展
ASP.NET AJAX的
Date
类为JavaScript的
Date
对象提供了扩展,包括日期格式化、本地化格式化和解析等功能。
-
格式化日期
:
format
函数使用标准的
DateTime
格式字符串将日期格式化为指定输出格式。示例代码如下:
var a = myDate.format("d");
// d为短日期模式的标准格式
-
本地化格式化日期
:要根据当前机器的区域设置格式化日期,需将
ScriptManager控件的EnableScriptGlobalization属性设置为true,并确保网站的culture属性在Web.config中设置为auto。然后使用localeFormat函数。示例代码如下:
var a = myDate.localeFormat("d");
-
解析日期
:
parseLocale函数可根据指定格式将字符串解析为日期。示例代码如下:
var a = Date.parseLocale('2007-12-1', 'yyyy-mm-dd');
2. 错误类型扩展
错误类型扩展为JavaScript的
Error
对象提供了异常详细信息和不同的应用程序编译模式,包含多种可抛出的错误类型,如下所示:
-
Error.argument
:表示函数接收到的参数异常。
-
Error.argumentNum
:表示空异常。
-
Error.argumentOutOfRange
:表示参数超出所需范围。
-
Error.argumentType
:表示类型异常错误。
-
Error.argumentUndefined
:表示参数未定义。
-
Error.create
:可创建具有可指定错误文本的自由格式错误。
-
Error.invalidOperation
:表示遇到无效操作。
-
Error.notImplemented
:表示所需功能未实现。
-
Error.parameterCount
:表示传递给函数的参数集不正确。
3. 数字类型扩展
数字类型扩展为JavaScript的
Number
对象添加了新的静态和实例方法。
-
格式化数字
:
format
函数使用与文化无关的值(基于
en-US
文化)格式化数字;
localeFormat
函数根据当前系统区域设置格式化数字。示例代码如下:
var a = 20;
var v = a.format("c");
var v = a.localeFormat("c");
-
解析数字
:
parseInvariant函数可将字符串解析为数字;parseLocale函数可将本地化字符串解析为数字。示例代码如下:
var n = Number.parseInvariant("23.2");
var n = Number.parseLocale("23,2");
4. 字符串扩展
字符串处理在编程中非常重要,ASP.NET AJAX扩展提供了一系列函数,使常用的字符串操作更易于实现。
-
字符串匹配
:
startsWith
和
endsWith
函数可检查字符串的开头或结尾是否与特定值匹配,返回布尔值。示例代码如下:
var str = "This is a string";
var a = str.startsWith('this');
// 返回 'false',因为区分大小写
var a = str.endsWith('string');
// 返回 'true'
-
字符串修剪
:提供了三种方法用于移除字符串开头和结尾的空白字符:
Trim、TrimStart和TrimEnd。
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A([开始]):::startend --> B(选择操作):::process
B --> C{操作类型}:::process
C -->|数组操作| D(出队、遍历、查找等):::process
C -->|布尔操作| E(实例化、解析):::process
C -->|日期操作| F(格式化、解析):::process
C -->|错误操作| G(抛出错误):::process
C -->|数字操作| H(格式化、解析):::process
C -->|字符串操作| I(匹配、修剪):::process
D --> J([结束]):::startend
E --> J
F --> J
G --> J
H --> J
I --> J
探索ASP.NET AJAX扩展与Silverlight技术
5. Silverlight技术概述
随着用户对网络体验的要求越来越高,传统的HTML和脚本语言在创建高质量、动态的应用程序时逐渐显得力不从心。为了应对这一挑战,平台厂商推出了多种增强HTML功能的技术,如Java小程序、ActiveX控件和Flash动画等。2007年,微软推出了一种新的技术——Silverlight,它具有许多独特的价值主张。
5.1 Silverlight简介
Silverlight是一种浏览器插件,用于渲染XAML(可扩展应用程序标记语言)并在JavaScript中暴露编程模型。XAML允许通过简单的XML标记定义用户界面及其交互,实现了设计与开发的分离。设计师可以使用工具(如Microsoft Expression套件)设计网站所需的图形、交互、动画和媒体,开发者则可以通过编写代码激活XAML,将其用作应用程序。
5.2 Silverlight功能亮点
Silverlight插件具有以下特点:
-
跨浏览器和跨平台
:在Windows系统的Internet Explorer和Mozilla Firefox浏览器,以及Mac OS X系统的Apple Safari和Mozilla Firefox浏览器上都能得到一致支持。此外,由Novell赞助的开源版本Moonlight将支持各种Linux发行版和浏览器。
-
一致性
:在所有浏览器和操作系统上,渲染XAML的体验和编程模型都是一致的。
-
易于下载和安装
:下载包是自包含的,体积小且易于安装,包含了查看支持内容所需的所有音频/视频编解码器。
-
矢量图形
:图形基于矢量,下载体积小,且可以在不损失保真度的情况下进行更改。
-
兼容性
:与JavaScript和Ajax等Web技术完全兼容,可使用标准技术和技能构建Silverlight应用程序。
-
开放的XAML DOM
:程序员可以在运行时轻松添加或删除UI元素。
-
无服务器端依赖
:Silverlight应用程序可以同样良好地从ASP.NET、J2EE、PHP等服务器技术中交付。
| 特点 | 描述 |
|---|---|
| 跨浏览器和跨平台 | 支持多种操作系统和浏览器 |
| 一致性 | 不同环境下体验和编程模型一致 |
| 易于下载和安装 | 自包含、体积小 |
| 矢量图形 | 下载小、可无损更改 |
| 兼容性 | 与Web技术兼容 |
| 开放的XAML DOM | 运行时可操作UI元素 |
| 无服务器端依赖 | 可从多种服务器技术交付 |
5.3 Silverlight版本
目前有Silverlight 1.0和早期访问版本的Silverlight 2.0(下载中称为1.1,微软计划在2008年春季更新为2.0早期测试版)。Silverlight 2.0增强了编程模型,引入了新的小型.NET CLR,允许使用C#或其他.NET语言构建和编码应用程序,还包括以下增强功能:
-
多语言支持
:除JavaScript外,还支持C#和Visual Basic。
-
高性能运行时
:将应用程序逻辑编译为.NET代码可显著提高性能。
-
XAML可扩展性
:可创建自定义XAML控件。
-
新的XAML UI控件
:用于应用程序开发。
-
网络功能
:通过
System.NET
库实现网络访问。
-
数据增强
:提供LINQ等功能。
-
跨平台调试
:可在Windows PC上的Visual Studio中调试运行在Mac OS X上的应用程序。
6. Silverlight应用程序的构成
作为浏览器插件,Silverlight的使用可以通过HTML中的
<object>
标签引用插件,并使用
<param>
标签进行配置。但为了简化开发过程,Silverlight SDK提供了工具和标准方法。
6.1 使用Silverlight.js
Microsoft在Silverlight SDK中提供了
Silverlight.js
文件,该文件包含了在页面上实例化和使用Silverlight插件所需的一切。它处理不同浏览器版本的兼容性问题,并为最终用户提供下载位置、服务条款和许可信息,使下载过程安全、可靠且简单。在HTML页面中,需要添加对该JavaScript文件的引用,示例代码如下:
<script type="text/javascript" src="Silverlight.js"></script>
可以从Microsoft Silverlight网站(http://silverlight.net/GetStarted/)下载Silverlight SDK。
6.2 使用XAML
Silverlight使用XAML的一个子集。以下是一个简单的XAML示例,包含一个
Canvas
和一个
TextBlock
,用于显示“Hello World!”消息:
<Canvas
xmlns="http://schemas.microsoft.com/client/2007"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="640" Height="480">
<TextBlock Text="Hello World!" />
</Canvas>
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A([开始]):::startend --> B(创建Silverlight应用):::process
B --> C{选择技术}:::process
C -->|Silverlight.js| D(引用文件、管理插件):::process
C -->|XAML| E(设计界面):::process
D --> F(完成应用):::process
E --> F
F --> G([结束]):::startend
综上所述,ASP.NET AJAX对JavaScript的扩展提供了丰富的功能,使开发者能够更高效地处理数组、布尔值、日期、错误、数字和字符串等。而Silverlight技术则为创建高质量、动态的Web应用程序提供了新的解决方案,通过XAML实现设计与开发的分离,结合JavaScript编程模型,为开发者带来了更多的可能性。无论是ASP.NET AJAX扩展还是Silverlight技术,都为Web开发领域注入了新的活力,帮助开发者构建出更具吸引力和交互性的应用程序。
超级会员免费看
110

被折叠的 条评论
为什么被折叠?



