AjaxControlToolkit错误:AjaxControlToolkit需要ASP.NET Ajax 4.0脚本。确保引用了正确版本的脚本

时间:2012-09-13 06:23:49

标签: c# asp.net-ajax visual-studio-2012 asp.net-4.5

我正在使用Visual Studio 2012试用版。我创建了一个示例应用程序,并使用NuGet将AjaxControlToolkit引用添加到最新版本的工具包中。我已经在表格Tag。

的网页上使用了Toolscriptmanager

平台详细信息:

  • .NET Framework 4.5
  • 语言:c#
  • IIS 6.1
  • 操作系统:Windows 7 64位

以下是我的aspx页面的代码示例。

<form id="form1" runat="server">
    <ajaxToolkit:ToolkitScriptManager ID="sm" EnableCdn="true" runat="server"> </ajaxToolkit:ToolkitScriptManager>
    <asp:TextBox runat="server" ID="txtEmail" CssClass="stcInputText rounded-corners"></asp:TextBox>
    <ajaxToolkit:MaskedEditExtender TargetControlID="txtEmail" Mask="9,999,999.99" MessageValidatorTip="true" OnFocusCssClass="MaskedEditFocus" OnInvalidCssClass="MaskedEditError" MaskType="Number" InputDirection="RightToLeft" AcceptNegative="Left" DisplayMoney="Left" ErrorTooltipEnabled="True"/>
</form>

Web配置配置

<system.web>
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
    <pages >
      <namespaces>
        <add namespace="System.Web.Optimization" />
      </namespaces>
      <controls >
        <add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt" />
        <add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" />
      </controls>
    </pages>
</system.web>

我仍在接受:

  

错误:AjaxControlToolkit需要ASP.NET Ajax 4.0脚本。确保引用了正确版本的脚本。如果您使用的是ASP.NET ScriptManager,请切换到AjaxControlToolkit.dll中的ToolkitScriptManager

请帮我解决这个问题。

根据建议,我已将webconfig和项目属性更改为.NET 4.0。

我尝试将所有项目更改为4.0。它工作了一次,但现在我再次遇到同样的错误。现在web配置看起来

 <compilation debug="true" targetFramework="4.0" >
     </compilation>
    <httpRuntime requestValidationMode="2.0" maxRequestLength="10000" />
    <pages controlRenderingCompatibilityVersion="4.0" clientIDMode="AutoID">
      <controls>
        <add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit"/>
      </controls>
    </pages>

项目属性目标为<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

3 个答案:

答案 0 :(得分:0)

这是一个非常明显的错误,不是吗? AjaxControlToolkit-library仅适用于.NET 4.0,而不适用于4.5(尚未)。因此,您必须将目标框架从项目更改为4.0而不是4.5。那应该解决它。您可以在Web.Config或Project的属性中执行此操作(这是最安全的)。

发布.NET 4.5版本的AjaxControlToolkit时,您可以下载并使用它,并将目标框架更改回4.5。

答案 1 :(得分:0)

实际上如果将项目从.net 4.5转换为4.0。它仍然指的是一些4.5的图书馆。这就是为什么它不起作用。 您需要在4.0框架中重新创建项目或删除现有库,并从4.0框架中引用它们。

答案 2 :(得分:0)

如果您从NUGET添加了AJAX并且从中添加了ajaxcontroltoolkit.dll,则删除下一个代码行 在这里:http://ajaxcontroltoolkit.codeplex.com/releases/view/109918

<add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit"/>

PD:AJAX控制工具包4.5不适用于框架4.5。和来自NUGET的AJAX有问题