.NET 3.5和VS 2008中的ASP.NET AJAX

原创 2008年02月28日 00:29:00

【原文地址】 ASP.NET AJAX in .NET 3.5 and VS 2008
【原文发表日期】 Monday, July 30, 2007 12:06 AM

在过去,我曾在《VS 2008 JavaScript Intellisense》 和 《 VS 2008 JavaScript debugging》 中讨论过JavaScript和AJAX方面的改进。下面是作为VS 2008和.NET 3.5一部分发布的一些ASP.NET AJAX运行时特性的几个备注,以及你在VS 2008中打开现有ASP.NET AJAX 1.0项目时需要知道的几个重要事项。

包括在.NET 3.5中的ASP.NET AJAX

step1.jpg ASP.NET AJAX 1.0是以可以在ASP.NET 2.0之上安装的单独一个下载的形式发布的。从.NET框架3.5开始,所有这些特性都成为ASP.NET所固有的,这意味着在构建或部署应用时,你不再需要下载和安装单独的ASP.NET AJAX安装文件。

当你在VS 2008 中创建针对.NET框架3.5的新ASP.NET应用或网站项目时,VS会自动在你的web.config 文件里添加适当的AJAX注册设置,而且核心ASP.NET AJAX 服务器控件会出现在你的工具箱里。

随.NET 3.5发布的ASP.NET AJAX 版本有不少很好的改进 - 包括对可与WebPart一起使用的UpdatePanel的支持,对基于WCF的JSON结点的支持,对在JavaScript中使用ASP.NET用户数据,角色和登录应用服务的支持,以及N个缺陷修补和性能改进。

理解ASP.NET AJAX的版本

ASP.NET AJAX 1.0和.NET 3.5两者可以在同个机器上并行安装。ASP.NET AJAX 1.0是在System.Web.Extensions.dll 的V1.0程序集中实现的,而包括在.NET 3.5中的ASP.NET AJAX实现存在于System.Web.Extensions.dll 的V3.5程序集中。System.Web.Extensions.dll 的V3.5版本是个完全兼容于1.0版本的扩展集(这意味着你不要改动任何代码就可以使用它)。

机器上的每个ASP.NET应用都可以选择使用任何一个ASP.NET AJAX 版本来构建和运行。这是通过在web.config文件中<system.web.extensions>部分节点,以及应用编译时所引用的System.Web.Extensions.dll程序集版本来配置的(在网站项目中,这些引用是注册在web.config文件中的<assemblies>部分的,而web应用项目则是通过项目文件来指定这些引用的)。

你将能使用VS 2008来开发针对ASP.NET AJAX 3.5的应用,以及使用新的VS 2008多定向支持来构建使用ASP.NET AJAX 1.0的ASP.NET 2.0应用。在下面的部分,我将讨论怎么做。

重要的Beta 2信息

在我们在web上发布Beta2前几天,我们发现了一个并行安装ASP.NET AJAX的问题。如果你读过我原先的《VS 2008和.NET 3.5 Beta 2发布了》的博客贴子的话,你会记得下面这个我特别指出的来修正这一问题的安装后补丁步骤:

你应该下载和运行这个批文件。这只要几秒钟就可以运行完,它修补了这个星期早些时候我们发现的System.Web.Extensions.dll版本政策的问题,该程序集包含了 ASP.NET AJAX。如果你不运行这个批文件,那么用ASP.NET AJAX 1.0 和 VS 2005构建的现有的ASP.NET 2.0项目就会自动地运载随 .NET 3.5 Beta2发布的新ASP.NET AJAX 版本。这会工作而且运行良好,但会不小心导致你的VS2005应用依赖于.NET 3.5。运行这个批文件会改变新的System.Web.Extensions.dll 程序集的版本绑定政策,确保你只在你明确构建.NET 3.5项目时才使用新的.NET 3.5 ASP.NET AJAX版本。

好消息是,这会修正我们发现的并行安装问题,使得我们可以安全地在同一台机器上使用VS 2005和VS 2008同时开发ASP.NET AJAX应用。

但有一个问题是,在VS 2008中第一次打开老的ASP.NET 2.0项目时,它会导致VS 2008不正确地检测出所用ASP.NET AJAX的版本,特别地,它会导致VS 2008认为当前项目已经使用了.NET 3.5。这要求你在VS 2008 Beta2中第一次打开现有的ASP.NET AJAX 1.0网站项目时,采取额外的步骤来更正这个问题。在VS 2008的最终版本中, 你将不需要采取这些步骤。

把ASP.NET AJAX 1.0应用升级到使用ASP.NET AJAX 3.5

当你使用VS 2008 打开使用了ASP.NET AJAX 1.0的现有ASP.NET 2.0 应用时,你可以选择将应用升级到使用.NET 3.5(以及包含在其中的ASP.NET AJAX 版本)。

VS Web工具组最近发表了《Upgrading ASP.NET AJAX 1.0 Websites and Web Applications to .NET Framework 3.5》的博客贴子,其中描述了怎么使用VS 2008 Beta2来实现升级的逐步指令。好消息是,把ASP.NET AJAX 1.0应用更新到.NET 3.5时,要求你改动任何代码,只需要花几分钟就可以完成。

作为升级ASP.NET AJAX 1.0应用到.NET 3.5的一部分,你要更新你也许在用的编译过的ASP.NET AJAX控件库。ASP.NET AJAX 控件工具包开发组刚发表了AJAX 控件工具包的ASP.NET AJAX 1.0和.NET 3.5 版本,你可以在这里下载

step1.jpg

Upgrading ASP.NET AJAX 1.0 Websites and Web Applications to .NET Framework 3.5》博客贴子讨论了如何将AJAX 控件工具包的ASP.NET AJAX 3.5版本加到VS 2008工具箱里。

使用VS 2008 构建ASP.NET AJAX 1.0应用(使用多定向)

当你使用VS 2008打开使用了ASP.NET AJAX 1.0的现有ASP.NET 2.0 应用时,你也可以选择不升级到.NET 3.5,而是使用VS 2008中新的多定向特性来构建使用了ASP.NET 2.0 和ASP.NET AJAX 1.0的应用。

VS Web工具组最近发表了《Using VS 2008 to Target ASP.NET AJAX 1.0》的博客贴子,其中描述了如何使用VS 2008 Beta2来实现这个开发的逐步指令。

在该博客贴子里,还包括了几个你要在Beta2中采取的手工步骤,来把ASP.NET AJAX 1.0和ASP.NET AJAX控件工具包服务器控件填充到VS 2008工具箱中。在VS 2008的最终版本中,我们会发布一个安装包来自动化这个过程,以及在VS 2008中添加可为你所用的ASP.NET AJAX 1.0项目和文件模板。

你也许在想,为什么使用VS 2008来针对ASP.NET AJAX 1.0应用,而不就用VS 2005呢? 好处是,它允许你构建能在你现有的服务器上工作的ASP.NET AJAX 1.0应用(不必马上把它们升级到.NET 3.5),同时,还允许你利用VS 2008 IDE的一些新特性,象JavaScript Intellisense, JavaScript Debugging,更棒的所见即所得的HTML设计器CSS管理,改进的代码编译器,VS Professional中的单元测试,TFS中的连续集成支持,等等。

结语

.NET 3.5现在包括了对所有ASP.NET AJAX 1.0特性的内置支持。我会在将来撰写更多的博客贴子,描述如何利用它提供的新特性。

你可以使用VS 2008针对用ASP.NET AJAX 1.0开发的现有ASP.NET 应用,也可以针对内置于.NET 3.5的ASP.NET AJAX的新版本。上面提到的VS Web工具组的博客贴子在这2个方面的逐步指导应该对你有所帮助。

希望本文对你有所帮助,

Scott

106824.aspx

ASP.Net大文件上传组件详解

首先右键单击网站根目录,在弹出的快捷菜单中,选择"添加引用"菜单项,弹出"添加引用",切换到"浏览"找到组件的Dll文件"Bestcomy.Web.Controls.Upload.dll"(本文件可到...
  • yf505261213
  • yf505261213
  • 2013年09月11日 10:09
  • 3475

ASP.NET C#+Ajax+json无刷新分页参考

先html代码 ...
  • bianjing40
  • bianjing40
  • 2015年12月15日 21:51
  • 1399

Ajax发送json格式数据到Asp.net MVC服务端的一些代码片段

最近一直做些asp.net mvc的页面,每次前端与后端交互,都要baidu查下代码怎么写,也不去思考为什么这么写,导致每每写这代码,都需要下search下代码。 正好现在有点空闲时间,我就把我写的代...
  • qq_26054303
  • qq_26054303
  • 2016年05月17日 17:29
  • 775

ASP.NET之AJAX分页步骤

一、在ASPX页面中的代码部分   第一步:在aspx页面中注册组件 -----------------------------------------   第二...
  • cyjch
  • cyjch
  • 2016年05月25日 14:53
  • 536

win-server2008 64位服务器配置asp.net环境注意点

1.安装Oracle64位客户端     注意:Oracle安装文件路径不能有中文!!! 2.添加IIS   (1)添加角色,选择“Web服务器(IIS)”和“应用程序服务器”     (...
  • wang_cel
  • wang_cel
  • 2014年12月22日 14:18
  • 5395

asp.net中利用Jquery+Ajax+Json实现无刷新分页(二)

Jquery+Ajax分页测试 $(function () { InitPage(1, 10); $(".nextP...
  • smartsmile2012
  • smartsmile2012
  • 2015年01月21日 18:03
  • 1915

.net利用ajax技术实现图片上传并回显到界面

最近在开发过程中遇到了一个非常郁闷的问题,就是图片传到fileUpload中时想要实现回显到image控件中。 在前台,fileUpload.change()事件中判断fileUpload.val(...
  • jingmaoxiaohan
  • jingmaoxiaohan
  • 2015年06月12日 11:24
  • 1949

使用javaScript解决asp.net中mvc使用ajax提交数组参数的匹配问题

想到在asp.net的mvc中如果使用ajax向服务端传递参数时如果参数是一个类或者是个数组(或List集合)以及更复杂的对象时,服务端总是会发生取不到值的情况,当然网上也有很多解决的例子,但都是在服...
  • sq111433
  • sq111433
  • 2013年07月17日 20:38
  • 5581

ASP.NET MVC AJAX表单提交实例

1.首先,新建一个controller。 using System; using System.Collections.Generic; using System.Linq; using Sys...
  • lucahan
  • lucahan
  • 2016年10月15日 15:53
  • 2626

如何设置使 IIS 应用程序池使用 ASP.Net 3.5 而不是 2.0

一个被很多人提起过的问题:我应当如何告诉我的 IIS 应用程序或者虚拟目录使用 ASP.NET 3.5 而不是 ASP.NET 2.0 呢?         人们一般会进入 IIS6 或者 ...
  • zlwzlwzlw
  • zlwzlwzlw
  • 2013年11月18日 16:07
  • 8853
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:.NET 3.5和VS 2008中的ASP.NET AJAX
举报原因:
原因补充:

(最多只允许输入30个字)