【发布时间】:2010-11-10 12:28:15
【问题描述】:
我在页面中有一个 SqlDataSource,它将根据 1 个或 2 个查询字符串和/或过滤器文本框显示不同的结果。
这是我的 SqlDataSource 和过滤器:
<asp:SqlDataSource ID="sdsAudits" runat="server"
ConnectionString="<%$ ConnectionStrings:constring %>"
SelectCommand="SELECT * FROM [Audit]" FilterExpression="source = {0} AND customer = {1} AND (itemID like '%{2}%' OR parentID like '%{2}%')">
<FilterParameters>
<asp:QueryStringParameter Name="source" QueryStringField="source" />
<asp:QueryStringParameter Name="customer" QueryStringField="customer" />
<asp:ControlParameter Name="txtFilter" ControlID="txtFilter" PropertyName="Text" />
</FilterParameters>
但由于某种原因,对 3 个可能的过滤器中的任何一个的过滤都不起作用。我尝试取出 2 个查询字符串过滤器,只留下文本框过滤器,然后它工作正常 - 所以我猜我的过滤器表达式是错误的?
有什么想法吗?请记住,如果所有 3 个过滤器具有 2 个查询字符串并已在文本框中输入,则所有 3 个过滤器可能同时处于“活动”状态,或者它们可能根本没有,或者当然介于两者之间。
【问题讨论】:
标签: c# asp.net filter sqldatasource