繁体   English   中英

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

[英]AjaxControlToolkit Error: AjaxControlToolkit requires ASP.NET Ajax 4.0 scripts. Ensure the correct version of the scripts are referenced

我正在使用Visual Studio 2012试用版。 我创建了一个示例应用程序,并使用NuGet将AjaxControlToolkit参考添加到最新版本的工具箱中。 我已经在网页上以标签形式使用Toolscriptmanager。

平台详细信息:

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

以下是我的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>

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

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

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

如果您从NUGET中添加了AJAX,并且从此处添加了ajaxcontroltoolkit.dll,请删除下一行代码: http ://ajaxcontroltoolkit.codeplex.com/releases/view/109918

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

PD:AJAX控制工具包4.5不适用于FRAMEWORK 4.5。 和NUGET中的AJAX存在问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM