VS2003项目转为VS2005后ASP.NET ajax不能局部刷新的问题

项目从VS2003迁移到VS2005并尝试引入ASP.NET AJAX时遇到问题,原本应该局部刷新的内容变为全页刷新。经过排查,发现遗留的AssemblyInfo.cs文件导致了这一问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  有一个项目,是由VS2003转换到VS2005下的,这段时间学习了asp.net ajax,感觉还不错,就想着将其应用到部分页面,MS的东西用着就是简单,很快就完成,兴冲冲地就想看看成果,系统正常启动了,没有任何错误,谁知在我改变下拉列表的选项时,本来应该是UpdatePanel包含的那一块内容刷新,现在变成了整个页面都刷新了,也就是异步调用变成了同步调用。
  这是什么原因呢?是我的程序有误,仔细对代码做了检查,并没有发现什么问题。或者是配置文件的问题,我和其它测试成功的项目配置文件比较,完全相同。百思不得其解,但明白应该是转换时造成的遗留问题。这个问题困扰了我几天,在网上也没有找到答案,前天参加陈黎夫(Dflying Chen)《css禅意花园》新书见面会,也没有找到明确的答案。
  将那个项目应用ajax的计划只好暂时放弃,但心中又有一些不甘,总想找到问题所在(完美主义者)。开始仔细比对vs2003和2005项目,终于发现资源文件AssemblyInfo.cs在vs2005下是没有的,2005下资源文件放在web.config中,但项目在转换后,仍然保留了这个文件,可能是考虑到有些特殊的配置信息存在,保留下来便于手工调整。打开这个文件,除了版本外并没有写入其它什么东西,试着把它删除看看吧,没想到还真就是这儿的问题,局部刷新的终于效果出来了。 
  问题是解决了,但道理在哪儿呢?或许正如前面所述,转换工具特意保留了这个资源文件,在2.0的环境下,发现存在这个资源文件,就直接从这里读取信息,结果保存在web.config中的相关配置信息反而被忽略了,从而造成异步调用时无法找到相应的资源、ajax失效的情况。
  当然,我的水平有限,以上原因只是猜测,希望高手指点迷津!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客行天下

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值