![](/img/trans.png)
[英]Microsoft JScript runtime error: AjaxControlToolkit requires ASP.NET Ajax 4.0 scripts
[英]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。
平台详细信息:
以下是我的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.