我想在数据库中搜索 clientName 并在用户键入时动态显示结果,以便他们可以选择用户。现在我的理解是,如果不使用 javascript,这是无法完成的。
因此,如果用户键入“Al”,则名为“Allan、Alison、Ali...”等的客户的结果将显示在下拉列表中,就像在其下方显示一样。 目前,用户正在将客户名称输入文本框。
我知道创建 DropDownList 应该像这样完成:
private void InitializeNameDropDown(DataTable dtTable)
{
string ClientName = Clienttb.Text;
MySqlDataReader Reader = MySQLQuery(ClientName);
int nTotalRecords = dtTable.Rows.Count;
for (int i = 0; i < nTotalRecords; i++)
{
NameDropDown.Items.Add(dtTable.Rows[i]["Client"].ToString());
}
}
MySQLQuery() 只是检查客户端是否存在于数据库中。 但我不知道如何与数据库动态交互以在用户键入时返回结果。
任何帮助将不胜感激,提前致谢。
最佳答案
您可以在没有 JS 的情况下完成,在 TextBox (OnTextChanged) 上的文本更改时挂起事件,并在那里更新 DDL(不要忘记设置 AutoPostBack=true )。 但是它很容易让用户等待(“卡住页面”),如果你使用的是 Ajax.NET,甚至回滚他写的内容
我强烈建议使用 JS 而不是这个(使用 JS 和 WCF/ashx/常规 WS,任何这些都可以),因为性能提升和更好的定制可能性。 ASP 无论如何都会为“ASP 控件”生成大量 JS。
这可以应用于例如 http://www.codeproject.com/KB/aspnet/Cross_Domain_Call.aspx
关于c# - 使用 Javascript 和 C# 动态搜索数据库并显示结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8804552/