我正在使用查询字符串来传递一个值,该值用于在第二页上选择订阅类别(变量名subno )。
基于订阅类别(subno在 sql server 中指定为整数,作为表类别的一部分),使用以下 URL 调用第二页 -
http://localhost:53175/v1/ProductsList.aspx?subno=1
or
http://localhost:53175/v1/ProductsList.aspx?subno=2
在第二页 中, subno 用于根据传递的subno查询项目。
<asp:SqlDataSource ID="subscription" runat="server"
ConnectionString="<%$ ConnectionStrings:aimnbde3ConnectionString %>"
SelectCommand="SELECT [subscription] FROM [subscription] WHERE ([subno] = @subno)">
<SelectParameters>
<asp:QueryStringParameter Name="subno" QueryStringField="subno" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
如果通过了 category(varibale subno),则此代码运行良好。如果第二页被直接调用
http://localhost:53175/v1/ProductsList.aspx
然后 subno 的值被解释为 0。我们是否有办法根据 subno 的值更改查询(SelectCommand="SELECT [subscription] FROM [subscription] )?
或者请提出正确的方法来处理subno没有通过的情况
编辑——
很抱歉错过了问题的重要部分-
什么时候 http://localhost:53175/v1/ProductsList.aspx
访问我想显示所有产品,所以查询将是
SELECT [subscription] FROM [subscription]
如果传递了一个值,查询将是
SELECT [subscription] FROM [subscription] WHERE ([subno] = @subno)