【发布时间】:2012-06-21 13:04:13
【问题描述】:
我想知道是否可以在服务器端构建自动完成功能(使用 ASP.NET 和 C#)。假设我有一个班级 City...
public class City
{
public string m_CityName;
public string m_CityId;
public City() { }
public City(string cityName, string cityId)
{ m_CityName = cityName; m_CityId = cityId; }
}
有了这个,我在服务器端构建了一个 City 的 ArrayList。我想要的是构建一个自动完成功能,它会显示城市名称,但会返回城市的 id。
我可以在服务器端执行此操作还是必须在客户端执行此操作? 如果我需要在客户端执行此操作,最好、最快和最安全的方法是什么?
城市的数据,名称和id,来自一个XML文件。
谢谢。
【问题讨论】:
-
我正在尝试使用Ajax,但是我以前用过这个,所以我正在学习。我想知道是否有其他方法。
-
不用太具体(是的,这是一条路过的评论),您想要做的是...... 1)将服务器端功能公开为服务(网络方法,也许?某种返回 JSON 的处理程序)。该服务将接受一个字符串并返回该字符串的匹配项。这些匹配可以是整个对象,只是用 JSON 表示。 2) 编写客户端 JavaScript 以响应 UI 事件(按键)并使用 AJAX 联系该服务。
-
@Triwis:是的,我在评论中添加的第二个 url 描述了一种可以使用 JSON 的方式
-
@Triwis:“另一种方法” - 不是真的。客户端和服务器端之间存在硬性分离。客户端正在处理 UI 事件,并且必须向服务器发出离散请求并获得响应。在没有完整页面重新加载的情况下(这不会产生非常好的自动完成),它需要使用 AJAX。一个提示是稍微延迟(可能是 100 毫秒 - 200 毫秒)进行查找,这样您就不会在有人快速键入时用请求轰炸服务器。
标签: c# asp.net autocomplete arraylist server-side