在Visual Studio 2010中使用Ajax的问题

时间:2011-07-15 15:23:13

标签: c# .net asp.net ajax

我之前发布过这个问题。有人告诉我如何使用jquery而不是ajax控件来解决我的问题所以我接受了这个答案。我现在发现我再次需要ajax控件。特别是AsyncFileUpload控件因为FileUpLoad不适合我。所以这是问题,稍作修改。

我正在尝试将Ajax控件添加到我的VS 2010项目中。当我使用VS2008时,我之前已经开始工作了。我一直得到这个例外:

 Error  1   The type 'System.Web.UI.ScriptControl' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.   

这就是我的所作所为。我下载了ajax 4工具包并添加了对该项目的引用。我还在我的项目中添加了对system.web扩展的引用。当我这样做时,这些行被添加到我的web.config。

<add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

我将这些行添加到我的aspx文件中。

<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="cc1" %> 

并且

<cc1:AsyncFileUpload ID="afuMine" runat="server" />
</asp:Content>

要尝试的显而易见的事情是添加对System.Web.Extensions的引用。不幸的是,这没有帮助。

我也退缩并尝试了ajax 3.5,这没有用。我注意到ajax dll是4.1,而'System.Web.Extensions是4.0。我不知道这是否重要,但我找不到ajax 4.0或'System.Web.Extensions 4.1。 再次提前感谢。

2 个答案:

答案 0 :(得分:1)

您引用了System.Web.Extensions.Design,错误是您需要引用System.Web.Extensions。它位于AjaxControlToolkit DLL中。你应该使用

<assemblies>
    ...
    <add assembly="AjaxControlToolkit"/>
</assemblies>

答案 1 :(得分:1)

我在另一个论坛找到答案,我想与你分享。就像海报一样,我不确定它为什么会起作用。

http://www.sitefinity.com/devnet/forums/sitefinity-4-x/bugs-issues/reference-to-assembly-system-web-extensions-version-4-0-0-0.aspx