升级到.NET 4.0后的Javascript错误

升级到.NET 4.0后的Javascript错误

问题描述:

我已经继承了一个正常工作的VB.NET 2.0 web应用程序,该应用程序在Update Panels中包含多个带有GridViews的用户控件。运行VS 2010升级向导后,该应用程序在调试器中运行良好,除了几个GridView。在这些,更新和删除工作,但加入新的项目会导致点击保存时,下面的JavaScript错误(调用DoPostBackWithOptions):升级到.NET 4.0后的Javascript错误

Microsoft jscript runtime error 
Sys.WebForms.PageRequestManagerServerErrorException: Index was out of range. Must be non-negative and less than the size of the collection. 
Parameter name: index 

我的理论是,该代码是罚款(我没碰过它),有某种导致此问题的配置问题。我已经浏览了SO和其他地方,并调整了我的web配置并更新了Ajax工具包程序集。我无法通过ScriptResource.axd JavaScript抛出错误。有什么建议么?

更新

,如果我使用VS 2008向导升级到.NET 3.5的应用程序工作正常。但是,如果我使用VS 2010将其升级到4.0,则问题会再次出现。

这只是一个解决方法而非修复。但我想我会添加它来帮助其他可能有类似问题的人。

我已经发现,项目升级到.NET 3.5就好了,但是4.0打破了它。我不确定框架是否会打破它或升级向导。

所以对我来说,成功的路径已经:

  1. 打开在VS 2008和运行升级 向导升级到3.5。
  2. 在VS 2010中再次打开项目 并运行升级向导,但选择 将其保留在3.5框架中。

在这一点上,项目表现良好,我可以使用VS 2010进行更新。

您是否尝试过设置controlRenderingCompatibilityVersion?升级过程应该包含它,但它可能是你心痛的原因。它位于您的web.config文件的<pages...标记中...

+0

是很好的建议。我试图将其设置为3.5和4.0,但无论在哪种情况下都没有区别。 – 2011-05-26 18:13:12