如何从ajax控件工具包中进行控件在从VS2008升级到VS2010的项目中工作

时间:2009-12-24 18:11:10

标签: asp.net visual-studio-2010 .net-4.0 ajaxcontroltoolkit visual-studio-2010-beta-2

我在VS2008 / .Net 3.5中有一个使用ajax控件工具包(针对.Net 3.5)的控件的工作项目。

我在VS2010 Beta 2中升级了项目。我选择了.Net 4.0,因此我可以利用WebForms的路由(这是有效的)。

当加载ModalPopupExtender的页面时,我收到错误,“语法错误”引用如下URI: {本地主机} /WebResource.axd?d=-sR5kj2yKK777ENh8pDLSA2&t=633960551687981257。
然后页面加载不正确,因为无法加载必要的javascript文件。

我尝试从ajax.codeplex.com下载新的控件工具包并在其中引用AjaxControlToolkit.dll,清除框架2.0及其中的临时文件。 4.0,但没有区别。

然后我读了this post关于进一步调试错误的信息。当我解密对WebResource.axd的请求时,他们显示了看起来像yay的路径:

  • S | WebForms.js
  • ZSystem.Web,4.0.0.0,b03f5f7f11d50a3a | WebUIValidation.js |

因此管道分隔的文件引用似乎构造不正确。似乎不太可能有人知道该怎么做,但是到底是什么......

2 个答案:

答案 0 :(得分:1)

添加
    RouteTable.Routes.Ignore(“* .js”);
到Global.ascx.cs中的RegisterRoutes

答案 1 :(得分:0)

您可以从codeplex下载源代码并通过VS 2010为.NET 4.0重建它,但我认为它不会提供太多帮助。

如果您想使用属于.NET 3.5(带SP1)的路由,您需要做的是将* .axd处理程序排除在路由之外。

以下是实现该目标的示例C#代码

RouteTable.Routes.Add(new Route("{resource}.axd/{*pathInfo}", new StopRoutingHandler()));