我有一个基于查询字符串中传递的值列出表中产品的页面。
例如: - ABC/product.aspx/SUBCAT =移动& BND =三星
这将显示所有的移动与三星品牌
我怎么能展示品牌的所有移动,不论是否BND是空或没有通过即只有subcat值通过。
我需要SqlDataSource命令来做同样的事情。我目前的查询,如下图所示:如果查询字符串中的一个字段为空且字符串格式为其中的字符串格式,则返回表中的所有值
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:shoppingConnectionString2 %>"
SelectCommand="SELECT * FROM [ProductDetails] WHERE (([Sub_category] = @Sub_category) AND ([Brand] = @Brand OR @Brand IS NULL))"
onselecting="SqlDataSource1_Selecting">
<SelectParameters>
<asp:QueryStringParameter Name="Sub_category" QueryStringField="subcat"
Type="String" DefaultValue="" "" />
<asp:QueryStringParameter Name="Brand" QueryStringField="bnd" Type="String"
DefaultValue="IS NULL" ConvertEmptyStringToNull="True" />
</SelectParameters>
</asp:SqlDataSource>
只需检查sql命令的参数,它会更清洁。它会让你免于编写复杂的sql命令,并相应地改变你的命令 – simsim