页面加载,查询字符串和Gridview -检索客户订单

本文关键字:检索 客户 Gridview 加载 查询 字符串 | 更新日期: 2023-09-27 17:54:53

我正在尝试使用gridview和querystring

从我的订单数据库表中检索特定于每个客户的订单信息

当用户登录时,我希望他们看到他们所有的订单。我有一个订单表,它被绑定到一个gridview使用查询字符串'customerid'

c#

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:FoodDealsConnectionString %>" SelectCommand="SELECT [customerid], [orderid], [menuname], [menuprice] FROM [Order] WHERE ([customerid] = @customerid)">
    <SelectParameters>
        <asp:QueryStringParameter Name="customerid" QueryStringField="customerid" Type="Int32" />
    </SelectParameters>
</asp:SqlDataSource>

页面加载

protected void Page_Load(object sender, EventArgs e)
{
    SqlDataSource1.SelectCommand = "SELECT [orderid], [orderdate], [menuname], [menuprice], [quantity], [isdelivered] FROM [order] WHERE ([customerid] = " + Request.QueryString["customerid"];            
}

当我尝试这个时,什么也没有出现。gridview不显示,但当我把?customerid=5在页面链接的末尾,它完美地显示

页面加载,查询字符串和Gridview -检索客户订单

检查页面加载事件中customerid是否为空

   protected void Page_Load(object sender, EventArgs e)
     {
      if (!Page.IsPostBack)
      {
      if (Request.QueryString["customerid"] != null)
       {
       SqlDataSource1.SelectCommand = "SELECT [orderid], [orderdate], [menuname], [menuprice], [quantity], [isdelivered] FROM [order] WHERE [customerid] = " + Request.QueryString["customerid"].ToString(); 
       }
      }
     }

那么你的网格视图应该如下所示。

<asp:GridView ID="gvL" DataSourceID="SqlDataSource1" runat="server" AutoGenerateColumns="False"/>