我正在使用來自AjaxControlToolkit的AutoCompleteExtender
在TextBox
上。自動完成AJAX不工作
簡單地說,當我拖上我的文本框掉落AutoCompleteExtender
工具,然後單擊「添加自動完成頁面的方法」,我得到以下錯誤:
Cannot create page method "GetCompletionlist because no CodeBehind or CodeFile was found!
谷歌搜索的錯誤後,我基本上創建了自己的Web服務AutoCompel.asmx。以下是該類的代碼:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
namespace AutoCompleteTest
{
/// <summary>
/// Summary description for AutoComplete
/// </summary>
[WebService(Namespace = "http://microsoft.com/webservices/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
[System.Web.Script.Services.ScriptService]
public class AutoComplete : System.Web.Services.WebService
{
[System.Web.Services.WebMethodAttribute(), System.Web.Script.Services.ScriptMethodAttribute()]
public static string[] GetCompletionList(string prefixText, int count, string contextKey)
{
// Create array of movies
string[] movies = { "Star Wars", "Star Trek", "Superman", "Memento", "Shrek", "Shrek II" };
// Return matching movies
return (from m in movies where m.StartsWith(prefixText, StringComparison.CurrentCultureIgnoreCase) select m).Take(count).ToArray();
}
}
}
當然,上面是虛擬數據....稍後,我將從數據庫中獲取數據。
而且我Default.aspx的是這樣的:
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</asp:ToolkitScriptManager>
From
<asp:TextBox ID="txtFrom" runat="server">
</asp:TextBox>
<asp:AutoCompleteExtender runat="server"
ID="txtFrom_AutoCompleteExtender"
TargetControlID="txtFrom"
ServiceMethod="GetCompletionList"
ServicePath="AutoComplete.asmx"
MinimumPrefixLength="2"
CompletionInterval="1000"
EnableCaching="true"
CompletionSetCount="20"
DelimiterCharacters=";, :"
ShowOnlyCurrentWordInCompletionListItem="true">
</asp:AutoCompleteExtender>
當我運行的網站....並在文本框中鍵入,沒有任何反應。不顯示擴展程序。即使我輸入「星」。
我錯過了什麼,爲什麼我一開始就得到這個錯誤?
P.S.我在我的大學計算機上,所以我認爲這個錯誤可能是由於我使用的網絡類型。不確定。
任何幫助非常高度高度讚賞!
謝謝。
我知道它的工作。我基本上做了一個網站而不是一個網站應用程序。出於某種原因,解決了這個問題。 – Subby 2011-12-24 18:13:36
你真的應該發佈這個答案。 – 2011-12-24 23:26:24