我正在使用Ajax Control Toolkit中的AutoCompleteExtender,它的行为很奇怪。
我的服务方法如下所示:
[System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod]
public string[] getEJMaps(string prefixText, int count)
{ // method that returns the auto-suggest for the EJMaps positions
string file_location = HttpContext.Current.Server.MapPath("~") + Utils.Settings.Get("attachments") + "ejmaps\\ejmaps.xml";
XElement x = XElement.Load(file_location);
string[] positions = (from p in x.Descendants("position") where p.Value.StartsWith(prefixText) orderby p.Value select p.Value).ToArray();
if (positions.Count() == 0)
return new string[] { "No Matching Results" };
else return positions;
}
它工作正常,如果我在测试页面中使用值getEJMaps("00056", 4)调用它,我会得到以下结果:
00056399
00056717
00056721
00056722
00056900
...
这正是我想要的,但是当我将它绑定到TextBox并输入 00056 时,我得到了结果:
56399
24015
24017
56717
56721
...
这显示了两个问题:
- 我的零点到底怎么了?我怎样才能让他们回来?
- 那些“240xx”数字是从哪里来的?xml 文档中甚至没有任何具有这些值的内容!
我对此完全感到困惑,请帮助我:)