2010-12-08 10 views
0

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:

Could post only one link :/

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

Antwort

0

Konfrontiert mit dem ähnlichen Problem, aber die einzige Lösung scheint das Schreiben der Webmethod in die Inhaltsseite selbst und der Autocompleteextender mit seinen entsprechenden Steuerelementen kann auf der Masterpage gehalten werden .

Verwandte Themen