ASP.NET 4 和 Visual Studio 2010 Web 开发概述 2 - AJAX

ASP.NET 4 和 Visual Studio 2010 Web 开发概述 2 - AJAX

1) jQuery 包含在 Web Forms 和 MVC

Visual Studio 对 Web Forms 和 MVC 的模板都包含了开源的 jQuery 库。当创建新网站或项目时,一个包含3个如下文件的 Scripts 文件夹会被创建:

  • jQuery-1.4.1.js —— 人类可读的、未最小化版本的 jQuery 库
  • jQuery-1.4.1.min.js —— 最小化版本的 jQuery 库
  • jQuery-1.4.1-vsdoc.js —— 对 jQuery 库的智能感知文档文件

开发时包含未最小化版本的 jQuery,对产品包含最小化版本的 jQuery。

例如,下面的 Web Forms 页面演示了如何使用 jQuery 更改 TextBox 控件的背景颜色,使其在获得焦点时为黄色:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ShowjQuery.aspx.cs" Inherits="ShowjQuery" %>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title >Show jQuery </ title >
</ head >
< body >
< form id ="form1" runat ="server" >
< div >
< asp:TextBox ID ="txtFirstName" runat ="server" />
< br />
< asp:TextBox ID ="txtLastName" runat ="server" />
</ div >
</ form >
< script src ="Scripts/jquery-1.4.1.js" type ="text/javascript" ></ script > 1: 2: <script type= "text/javascript"> 3: $( "input").focus( function() { $( this).css( "background-color", "yellow"); }); 4: </ script >
</ body >
</ html >

2) 内容分发网络(CDN)支持

Microsoft Ajax 内容分发网络(Content Delivery Network,CDN)使香锅轻易地添加 ASP.NET Ajax 和 jQuery 脚本到 Web 应用程序中。例如:

< script src ="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.js" type ="text/javascript" ></ script >

利用 Microsoft Ajax CDN,可以提高 Ajax 应用程序的性能。Microsoft Ajax CDN 的内容是缓存在世界各地的服务器上的。另外,Microsoft Ajax CDN 让浏览器能够为定位在不同域中的网站重用缓存的 JavaScript 文件。

Microsoft Ajax CDN 支持 SSL(HTTPS)。

要学习更多关于 Microsoft Ajax CDN的内容,访问:http://asp.net/ajaxlibrary/cdn.ashx。

ASP.NET ScriptManager 支持 Microsoft Ajax CDN。只要简单地设置 EnableCdn 属性就可以了:

< asp:ScriptManager ID ="sm1" EnableCdn ="true" runat ="server" />

ASP.NET 框架会从 CDN 获取所有的 JavaScript 文件,包括用于验证的和 UpdatePanel 的。

可以为自己的 JavaScript 文件设定 CDN 路径,使用 WebResource 特性就可以实现。例如:

[assembly: WebResource( "Foo.js", "application/x-javascript", CdnPath = "http://foo.com/foo/bar/foo.js")]

3) ScriptManager 显式脚本

过去,如果你使用 ASP.NET ScriptManager 你需要加载整个庞大的 ASP.NET Ajax 库。通过利用新的 ScriptManager.AjaxFrameworkMode 属性,可以精确地控制 ASP.NET Ajax 库的哪些组件要加载,只加载需要的组件。

ScriptManager.AjaxFrameworkMode 属性可以设置为以下的值:

  • Enabled——指示 ScriptManager 控件自动地包含 MicrosoftAjax.js 脚本文件,这是各个核心框架脚本的脚本文件组合(遗留行为)。
  • Disabled——指示所有的 Microsoft Ajax 脚本特性都被禁止,ScriptManager 控件不自动引用任何脚本。
  • Explicit——指示要显式地包含页面需要的单独框架核心脚本文件的引用,以及对脚本文件需要的依赖的引用 。

例如,如果你设置 AjaxFrameworkMode 属性为 Explicit 那么可以指定需要的详细的 ASP.NET Ajax 组件脚本:

< asp:ScriptManager ID ="sm1" AjaxFrameworkMode ="Explicit" runat ="server" >

< Scripts >
< asp:ScriptReference Name ="MicrosoftAjaxCore.js" />
< asp:ScriptReference Name ="MicrosoftAjaxComponentModel.js" />
< asp:ScriptReference Name ="MicrosoftAjaxSerialization.js" />
< asp:ScriptReference Name ="MicrosoftAjaxNetwork.js" />
</ Scripts >
</ asp:ScriptManager >

你可能感兴趣的:(jquery,Ajax,asp.net,CDN,4,ScriptManager)