如何理解VS2003 ajax的一些常用办法

开发 后端
本文讲述VS2003 ajax的使用技巧,怎样创建VS2003 ajax项目。这些内容都是我今天花花了一周的时间查阅资料并像IT精英学习出来的,中间可能有不少错误是我没有挑出的,欢迎大家指正。

VS2003 ajax更名为asp.net ajax前,安装了开发包就可以在网站的BIN目录下生成相应的atlas的dll文件,这样发布时连同所有的dll组件都会发布出去,但是目前VS2003 ajax准备在VS2007集成到工具箱中,所以现在在VS2005上安装rc版的ajax时,其控件的命名空间已经变为:System.Web.Extensions,在发布网站的时候在bin目录中也不会产生任何的DLL组件。

这是什么原因呢?是我的程序有误,仔细对代码做了检查,并没有发现什么问题。或者是配置文件的问题,我和其它测试成功的项目配置文件比较,完全相同。百思不得其解,但明白应该是转换时造成的遗留问题。这个问题困扰了我几天,在网上也没有找到答案,前天参加陈黎夫(Dflying Chen)《css禅意花园》新书见面会,也没有找到明确的答案。

将那个项目应用ajax的计划只好暂时放弃,但心中又有一些不甘,总想找到问题所在(完美主义者)。开始仔细比对VS2003和VS2005项目,终于发现资源文件AssemblyInfo.cs在VS2003 ajax下是没有的,2005下资源文件放在web.config中,但项目在转换后,仍然保留了这个文件,可能是考虑到有些特殊的配置信息存在,保留下来便于手工调整。

打开这个文件,除了版本外并没有写入其它什么东西,试着把它删除看看吧,没想到还真就是这儿的问题,局部刷新的终于效果出来了。 #t#

问题是解决了,但道理在哪儿呢?或许正如前面所述,转换工具特意保留了这个资源文件,在2.0的环境下,发现存在这个资源文件,就直接从这里读取信息,结果保存在web.config中的相关配置信息反而被忽略了,从而造成异步调用时无法找到相应的资源、ajax失效的情况。
当然,我的水平有限,以上原因只是猜测,希望高手指点迷津!

有一个项目,是由VS2003转换到VS2005下的,这段时间学习了asp.net ajax,感觉还不错,就想着将其应用到部分页面,MS的东西用着就是简单,很快就完成,兴冲冲地就想看看成果,系统正常启动了,没有任何错误,谁知在我改变下拉列表的选项时,本来应该是UpdatePanel包含的那一块内容刷新,现在变成了整个页面都刷新了,也就是异步调用变成了同步调用。

测试环境:
开发机器winxpsp2,VS2005sp1,服务器发布win2003sp4,.net2.0framework
希望早日用上正式版的VS2007

解决办法:
1,在开发机器上安装ASPAJAXExtSetup.msi本文发布日期是07年2月份,ajax版本是RC1
2,找到ajax的安装路径,我的是C:\Program Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025
把其中的System.Web.Extensions.Design.dll和System.Web.Extensions.dll两个文件拷贝到你的网站的bin目录中
3,希望你的网站是新建立的,把ajax目录中的web.config拷贝到你的网站的根目录中覆盖以前的,如果你已经对你的web.config进行过编辑的话,还是手动把相关设置节复制到你的web.config中。
4,到控制面版中卸载asp.net ajax 1.0
5,然后添加对你网站中bin目录中的这两个DLL文件的引用,如果你的VS2005打过sp1,在网站的“解决方案资源管理器”中的“引用”加入这两个DLL文件来增加它的命名空间。
6,发布网站
7,如果还想用ajaxtoolkid的话请将相应的dll文件复制到bin目录下,并添加引用

一些说明:
建议把VS2005打上sp1补丁,可以直接新建asp.net项目,有自己的项目文件,一个页面有三个文件构成,像是回归到VS2003了,也许sp1更贴近vs2007吧。
如果不打这个补丁,在母版页面的子页面中的ajax控件会出现验证(Intellisense)失败的问题。

忠告:
atlas版本众多,几天一变,终于到了RC,还可能有RC1,RC2等,建议减少代码的复杂度,以便适应升级,还好一度被拿掉的timer控件又回来了。
VS2005的sp1是史上比较恐怖的东西,安装前一定要有足够的准备(包括心理准备)
设置器中所有VS2003 ajax控件的tagPrefix名都变成了"asp",不再是以前的cc1这类的命名了,就像普通服务端控件一样了。

责任编辑:chenqingxiang 来源: DSFDS
相关推荐

2009-11-30 09:39:46

VS2003版本

2009-11-30 13:51:28

VS2003 Acti

2009-12-01 10:18:12

VS2003makef

2009-11-27 09:34:38

VS2003命令

2009-12-01 16:16:13

安装VS2003

2009-11-30 13:51:28

VS2003 Runt

2009-11-26 16:46:08

VS2003编译

2009-12-01 11:21:25

VS2003 报表

2009-11-26 13:40:53

2009-11-30 10:34:28

VS2003编译

2009-11-25 13:35:05

VS2003使用

2009-12-15 13:39:43

2009-12-01 14:18:54

VS 2003Data

2009-11-26 09:42:38

VS2003插件

2009-11-30 13:40:43

VS 2003 Boo

2009-11-26 08:57:01

VS2003发布

2009-11-26 13:55:35

VS2003源代码

2009-11-27 08:59:29

VS2003配置文件

2009-12-18 10:10:49

VS 2003程序

2009-12-09 13:41:04

VS 2003 报错
点赞
收藏

51CTO技术栈公众号