我正在使用Visual Studio 2012试用版。我创建了一个示例应用程序,并使用NuGet将AjaxControlToolkit引用添加到最新版本的工具包中。我已经在表格Tag。
的网页上使用了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>
答案 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有问题