1

我有一个带有 Ajax AutoComplete Extender 的 ASP.NET 应用程序,它工作正常,但我只想在列表中看到 10 到 15 个元素。我该怎么做?

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));
}
4

2 回答 2

2

加载 Linq 命名空间并使用 Take 方法

filteredList.Take(10).ToArray(typeof(string));
于 2012-09-14T08:35:51.657 回答
1

你能试一下吗

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

这将给出正好 10 个元素。

于 2012-09-14T08:41:21.147 回答