Microsoft Ajax Toolkit参考

时间:2013-04-22 20:06:53

标签: c# asp.net visual-studio-2010

我下载并安装了Microsoft提供的Ajax Toolkit到我的Visual Studio副本中。我正在尝试使用控件的在线示例,我遇到了以下差异。我已经安装了工具包,可以通过工具箱访问它。我添加了对这个特定项目的引用 enter image description here

但是当我从工具包中拖放AutoCompleteExtender控件时,我发现ASP有些不同。我看到像

这样的东西
<asp:AutoCompleteExtender>

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

enter image description here

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

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:2)

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

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

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" 
    TagPrefix="ajaxToolkit" %>
web.config上的

使其全局化,无需在每个页面上添加它:

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

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

答案 2 :(得分: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" %>