Ich ging durch viele Foren, Beiträge usw. Aber nie wirklich gute Antwort auf diese gefunden. Ich versuche AutoComplete Extender zu TextBox hinzuzufügen und einige Tipps für Benutzer anzuzeigen. Alles ist in Ordnung, wenn dieser Code in der Inhaltsseite platziert wird. Aber ich habe ~ 10 Inhaltsseiten, die auf einer Masterseite basieren, also ist es total dumm, den Code auf jedem zu wiederholen.AutoComplete Extender in Master-Seite
Es gibt einige Antworten auf dem Netz, aber sie sind nur teilweise diejenigen, überprüfen Sie, ob Sie wan't:
Hier ist mein Code:
Master-Seite:
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="~/AutoComplete.asmx" />
</Services>
</asp:ScriptManager>
<asp:TextBox runat="server" ID="TextBox1"></asp:TextBox>
<ajax:AutoCompleteExtender
ID="AutoCompleteExtender1"
runat="server"
TargetControlID="TextBox1"
ServiceMethod="GetCompletionList"
ServicePath="~/AutoComplete.asmx"
MinimumPrefixLength="1"
CompletionInterval="500"
CompletionSetCount="2">
</ajax:AutoCompleteExtender>
WebService:
/// <summary>
/// Summary description for AutoComplete
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[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
{
[WebMethod]
[System.Web.Script.Services.ScriptMethod]
public string[] GetCompletionList(string prefixText, int count)
{
// 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();
}
}
Für den Eintrag habe ich den Web Service überprüft und es funktioniert gut
p.s. Es tut mir leid, wenn ich etwas falsch gemacht habe