【问题标题】:Database table search using text box and dropdown list with ASP.net/C#使用 ASP.net/C# 使用文本框和下拉列表搜索数据库表
【发布时间】:2010-02-10 11:55:30
【问题描述】:

我正在使用 ASP.net/C# 构建一个小型网站,我想知道如何使用文本框和下拉菜单实现简单的搜索功能。

数据源是一个产品表,在文本框中输入产品名称,下拉列表中是类别。 (我已经设法使用可用类别填充下拉列表)

它必须满足以下条件:

  • 如果文本框和下拉菜单均为空白,则必须列出所有产品;

  • 如果选择了一个类别,则必须列出该类别中的所有产品;

  • 如果只填写文本,则显示所有匹配的产品;

如果可能的话,一些代码 sn-ps 将不胜感激。

谢谢。

【问题讨论】:

  • 向我们展示您的尝试,我们会很乐意为您提供帮助,但这不是一个免费的编程资源网站,因此我们不会为您做这一切。
  • 嗯...基本上我只有数据库和一个带有 2 个控件(文本框和下拉菜单)的 aspx 页面。我在网上搜索过,只能使用文本框找到示例。同时使用 textbox 和 dropdwon 我没有找到任何东西。

标签: c# asp.net search textbox drop-down-menu


【解决方案1】:

我假设您使用标准数据集并且您正在从 Products 表中加载所有数据,您应该查看以下链接之一:

ADO.NET: Filter Data
Filtering and Sorting in Datasets
Web Forms DataGrid and DataSet Programming

【讨论】:

    【解决方案2】:

    您熟悉 SQL 吗?如果是这样,您所要做的就是为每个条件创建一个不同的查询,或者一个带有参数的查询,这些参数将指示要添加到 select 语句中的条件,例如:

    • 如果文本框和下拉菜单都是 空白必须列出所有产品;

      从产品中选择 *

    • 如果选择了一个类别所有产品 必须列出来自该类别的;

      SELECT * FROM Products WHERE Category = @Category

    • 如果只填写文本,则所有产品 显示匹配项

      SELECT * FROM Products WHERE ProductName = @ProductName

    这是最简单的方法,@Category 和@ProductName 是包含文本框和下拉列表值的参数。 您仍然需要添加代码来决定何时执行每个查询并使用您的结果填充控件...假设下拉列表中的第一项不是实际类别,但可能是一些文本作为“选择类别” ,下面是如何处理第一个条件的示例:

    If (string.IsNullOrEmpty(txtProductName.Text && ddlCategory.SelectedIndex == 0)
    {
        //execute query#1
        GridViewSearchResults.DataSource = DataSet1; //This dataset is populated with data from the first query "select * from products"
        GridViewSearchResults.DataBind();
    }
    

    如果以上内容没有意义,我建议您继续阅读有关此主题的更多内容。上面的示例不是编写生产应用程序的理想方式,它非常简单,只是为了让您了解如何做。

    【讨论】:

    • 谢谢...参数接缝是我想要的。
    猜你喜欢
    • 2015-03-07
    • 1970-01-01
    • 2011-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-17
    相关资源
    最近更新 更多