我需要使用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>
答案 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+'%');
希望它会帮助别人