2013-04-22 180 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" %>