使用3个参数搜索页面

时间:2014-06-16 13:03:35

标签: asp.net

我需要使用3个可选参数(标题,国家/地区,类别)搜索培训计划。
我很困惑,当访问者没有过滤数据时我如何显示所有数据并在他们作为查询字符串发送时过滤它?
(例如resutls.aspx?title = title& country =美国和类别=领导者)

如何使用sql server和asp.net(c#)实现这个?

<asp:Repeater runat="server" DataSourceID="srcTraining">
              <ItemTemplate>
                  <tr>
                  <td><%#Eval("title") %></td>
                  <td><span class="fa fa-map-marker"></span> <%#Eval("country") %></td>
                  <td><i class="fa fa-calendar"></i><%#Eval("days") %> days</td>
                  </tr>
              </ItemTemplate>
</asp:Repeater>

1 个答案:

答案 0 :(得分:0)

好的,这需要我很长时间,但最后我找到了一种方法来做到这一点

SELECT DISTINCT available_training.training_id, training.title
FROM            available_training INNER JOIN training 
ON 
    available_training.training_id = training.id
where
        (@location is null or available_training.country = @location) 
    and 
        (@category   IS NULL or category = @category)  
    and
        (@title is null or training.title like '%'+@title+'%');

希望它会帮助别人