2

我下载并安装了 Microsoft 提供的 Ajax Toolkit 到我的 Visual Studio 副本中。我正在尝试遵循使用控件的在线示例,但遇到了以下差异。我已经安装了工具包,可以通过工具箱访问它。我添加了对这个特定项目的引用 在此处输入图像描述

但是当我从工具包中拖放 AutoCompleteExtender 控件时,我看到了一些不同的 ASP。我看到类似的东西

<asp:AutoCompleteExtender>

但是我看到的所有示例都显示了类似的语法,<ajaxToolkit:AutoCompleteExtender> 但是当我尝试使用该语法时,我收到警告“无法识别的标记前缀或设备过滤器“ajaxToolkit”。
证明 ToolKit 已安装

在此处输入图像描述

这里有什么不同?Intellisense 无法识别 ajaxToolkit 标记,即使在为 AjaxToolkit 命名空间中的所有内容添加 using 语句后,我仍然会收到无法识别标记的警告消息。

4

3 回答 3

3

标签名称的这一部分是前缀,您(或库)将其设置在您放置控件的页面上,或者在 web.config 上作为全局设置。

在页面顶部,但在第一个声明行的下方:

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" 
    TagPrefix="ajaxToolkit" %>

使其成为全球性的web.config并且不需要在每个页面上添加它:

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

如果您在这两个示例中看到我已将您在示例中看到的那个设置为 TagPrefix。

于 2013-04-22T20:31:44.147 回答
2

您所遵循的示例可能是在 Ajax Toolkit 不是 ASP.NET 的一部分时编写的,因此您必须手动将引用添加到您的项目中(在 web.config 中),并且通常它们是以您的方式添加的'd 使用以 You 开头的标签,<ajaxToolkit:可以将其更改为任何类型的前缀。

现在它是 ASP.NET 的一部分,您不需要创建单独的引用(它可能是自动添加的),因此它们使用了普通的<asp:标记前缀。

于 2013-04-22T20:31:00.230 回答
0

您可能在 ASP.net 安装中使用了错误版本的工具包。

我发现我必须确保我使用的是正确版本的 ASP.net。我试图在我的网站的 ASP.net 2 版本中使用 3.5 AjaxToolKit DLL。

我只是把这条线放在我的 ASPX 页面的顶部,从那以后就很好了。

<%@ Register Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
    Namespace="System.Web.UI" TagPrefix="asp" %>
于 2015-05-20T01:24:45.453 回答