页面加载,查询字符串和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在页面链接的末尾,它完美地显示
检查页面加载事件中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"/>