2011-05-04 48 views
0

如何在自動完成列表中顯示不同的項目?我不希望重複出現在列表中。我正在讀取XML文件中的數據。自動完成顯示不同的項目

這裏是我的web服務代碼:

[WebService的空間(namespace = 「http://tempuri.org/」)] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ScriptService]

public class WebService : System.Web.Services.WebService 
{ 
    [WebMethod] 
    public string[] GetItemsList(string prefixText, int count) 
    { 
     List<string> suggestions = new List<string>(); 
     using (XmlTextReader reader = new XmlTextReader(HttpContext.Current.Server.MapPath("flightdata3.xml"))) 
     { 
      while (reader.Read()) 
      { 
       if (reader.NodeType == XmlNodeType.Element && reader.Name == "departurelocation") 
       { 
        string itemName = reader.ReadInnerXml(); 
        if (itemName.StartsWith(prefixText, StringComparison.InvariantCultureIgnoreCase)) 
        { 
         suggestions.Add(itemName); 

         if (suggestions.Count == count) break; 
        } 
       } 

       if (reader.NodeType == XmlNodeType.Element && reader.Name == "destinationlocation") 
       { 
        string itemName = reader.ReadInnerXml(); 
        if (itemName.StartsWith(prefixText, StringComparison.InvariantCultureIgnoreCase)) 
        { 
         suggestions.Add(itemName); 

         if (suggestions.Count == count) break; 
        } 
       } 

      } 
     } 
     return suggestions.ToArray(); 
    } 
} 

回答

1

爲了保證你必須檢查的項目不同的計數加在他們面前:

if(!suggestions.Contains(itemName)) 
    suggestions.Add(itemName); 

否則,你最終最糟糕的ç只有一個建議。

+0

是的。這工作。謝謝! – multiv123 2011-05-04 18:27:51