【问题标题】:ASP.NET Datasource bound to Combo. Include all entriesASP.NET 数据源绑定到 Combo。包括所有条目
【发布时间】:2013-05-25 00:55:39
【问题描述】:

我有 2 个组合框绑定到数据源,以便在 ASP.NET 中创建搜索网页。两个组合框都绑定到数据库表。数据源根据组合框的值确定其 SQL SELECT 语句,因此过滤结果。但是,我想包括用户不想在某些组合中设置值并希望检索有关此组合框的所有数据库记录的情况。我在两个组合中都包含了静态条目(例如 ),但是如何对数据源进行编程,以便用户何时选择,不会应用 WHERE 语句? 我发现这个答案有点用,但是存在安全问题并且不是那么简单。 Changing SqlDataSource.SelectCommand at runtime breaks pagination

提前致谢

【问题讨论】:

    标签: asp.net combobox datasource


    【解决方案1】:

    假设当用户什么都不选择时组合框中的值是-1,你可以像这样修改你的sql:

    SELECT * 
    FROM TABLE
    WHERE ((COLUMN_1 = @PARAM_1) OR @PARAM_1 = -1)
    AND   ((COLUMN_2 = @PARAM_2) OR @PARAM_2 = -1)
    

    如果您将 -1 作为两个参数的值传递,则查询将返回表中的所有记录

    【讨论】:

    • 非常感谢。尽管我自己已经找到了答案,但您的解决方案很好。我将上述方法与存储过程一起使用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多