如何在自动完成列表中显示不同的项目
本文关键字:显示 项目 列表 | 更新日期: 2023-09-27 17:54:36
如何在自动完成列表中显示不同的项目?我不想在列表中出现重复项。我正在从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();
}
}
为了保证计数,您必须在添加它们之前检查不同的项:
if(!suggestions.Contains(itemName))
suggestions.Add(itemName);