2012-09-14 63 views
1

我有一個ASP.NEt應用程序與一個Ajax自動完成擴展和它工作正常,但我只希望在列表中看到10到15個元素。我該怎麼做?如何設置十個元素的AutoCompleteList?

ASPX:

<asp:TextBox ID="txtVertreter" runat="server"></asp:TextBox> 
           <asp:AutoCompleteExtender ID="AutoComlete" runat="server" TargetControlID="txtVertreter" 
           ServiceMethod="GetCompletionList" ServicePath="" Enabled="true" 
           DelimiterCharacters="" UseContextKey="true" MinimumPrefixLength="1" ></asp:AutoCompleteExtender> 

我的CS代碼:

[System.Web.Script.Services.ScriptMethod] 
[System.Web.Services.WebMethod] 
public static string[] GetCompletionList(string prefixText, int count) 
{ 
    ArrayList filteredList = new ArrayList(); 
    string s2 = "\n"; 
    char[] ch = s2.ToCharArray(); 

    UserService srv = new UserService(); 
    ArrayList AList = srv.VertreterFinden(Domain, prefixText); 

    string[] names = AList.ToArray(typeof(string)) as string[]; 

    foreach (string name in names) 
    { 
     if 
      (name.ToLower().StartsWith(prefixText.ToLower())) 
     { 
      filteredList.Add(name); 
     } 
    } return (string[]) 
     filteredList.ToArray(typeof(string)); 
} 
+0

你想要精確10還是10-15之間? – freebird

+0

10 ................... – Tarasov

回答

2

負載LINQ的命名空間和使用採取方法

filteredList.Take(10).ToArray(typeof(string)); 
+0

它也是正確的。但我不能使用 – Tarasov

+1

@Tarasov你可以使用它,如果你把標題使用System.Linq –

+0

我在我的標題中使用system.Linq但它不工作..l。 – Tarasov

1

你可以嘗試

return (string[]) 
     filteredList.Take(10).ToArray(typeof(string)); 

這將給出10個元素。