2013-04-22 178 views
2

我下载并安装了微软提供给我的Visual Studio副本的Ajax工具包。我试图遵循使用控件的在线示例,并遇到以下差异。我已经安装了该工具包,可以通过工具箱访问它。我已经添加了对这个特定项目的引用 enter image description here微软Ajax工具包参考文献

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

<asp:AutoCompleteExtender> 

,但所有这一切我已经看到显示语法像<ajaxToolkit:AutoCompleteExtender> 不过的例子,当我尝试使用语法我得到一个警告'无法识别的标记前缀或设备筛选器“ajaxToolkit”。
证明该工具包安装

enter image description here

什么不同吗? Intellisense没有选择ajaxToolkit标签,甚至在为AjaxToolkit命名空间中的所有内容添加using语句之后,我仍然收到了无法识别标签的警告消息。

回答

2

下面的示例可能是在Ajax Toolkit不是ASP.NET的一部分时编写的,因此您必须手动将引用添加到项目中(在web.config中),并且通常将它们添加到一种你会使用以<ajaxToolkit:开头的标签的方法你可以把它改成任何种类的前缀。

既然它是ASP.NET的一部分,你不需要创建一个单独的引用(它可能会自动添加),所以他们使用了正常的<asp:标签前缀。

+0

我以为这是最初的想法,但后来去年我看到的一些例子使用''的方式。很高兴得到验证,谢谢。 – wootscootinboogie 2013-04-22 20:36:23

2

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

在页面的顶部,但在第一个第一次申报行:

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

web.config,使其全球,而不是需要增加它的每一页上:

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

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

+1

使用web.config设置它似乎是对我来说最好的解决方案。谢谢! :) – wootscootinboogie 2013-04-22 20:34:38

0

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

我发现困难的方式,我必须确定我使用的是正确版本的ASP.net。我正在尝试使用3.5 AjaxToolKit DLL与我的网站的ASP.net 2版本。

我简单地把这一行放在我的ASPX页面上面,自此以后就很好。

<%@ Register Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" 
    Namespace="System.Web.UI" TagPrefix="asp" %>