1

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

平台详情:

  • .NET 框架 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>

网页配置配置

<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。它工作过一次,但现在我又遇到了同样的错误。现在网络配置看起来

 <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>

4

3 回答 3

0

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

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

于 2012-09-13T08:41:28.373 回答
0

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

于 2012-09-21T07:18:33.977 回答
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 有问题

于 2013-09-27T23:59:02.090 回答