c# - 使用 Javascript 和 C# 动态搜索数据库并显示结果

标签 c# asp.net mysql dynamic drop-down-menu

我想在数据库中搜索 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/

相关文章:

c# - .NET:WebBrowser、WebClient、WebRequest、HTTPWebRequest……啊!

c# - Malscript 注入(inject) SQL Server 2005 数据库

mysql UNION 查询不工作

mysql - docker-compose mysql init sql没有执行

c# - 任务中的异步套接字操作

c# - ASP.NET ConfirmButtonExtender 在 IE 中没有背景

c# - 对象创建,如何解析 "class-owner"?

c# - 如何为 Office 加载项启用身份验证?

asp.net - 使用调试配置的 Azure 持续部署

MYSQL - 表显示选项(不打印重复项)