牛腩购物21:新品上架页面制作,下拉dropdownlist 进行产品的排序,asc,desc
下拉排序
<asp:DropDownList ID="ddlOrder" runat="server" AutoPostBack="True" onselectedindexchanged="ddlOrder_SelectedIndexChanged" > <asp:ListItem Value="1">↓按上架时间降序排列</asp:ListItem> <asp:ListItem Value="0">↑按上架时间升序排列 </asp:ListItem> <asp:ListItem Value="2">↑按价格升序排列</asp:ListItem> <asp:ListItem Value="3">↓按价格降序排列</asp:ListItem> </asp:DropDownList>
数据库中默认的排序 是升序 也就是 asc (数字从小到大,时间从过去到将来)
desc 倒序,数字从大到小,时间从将来到过去
当我们通过下拉菜单进行排序的时候,要记得对 dropdownlist 进行 自动回发 AutoPostBack 并且 双击,产生修改select的事件
//绑定产品 private void BindRepPro() { string order = "createdate"; string ordertype = "desc"; switch (ddlOrder.SelectedValue) { case "0": order = "createdate";ordertype="asc"; break; case "1": order = "createdate";ordertype="desc"; break; case "2": order = "memberprice";ordertype="asc"; break; case "3": order = "memberprice";ordertype="desc"; break; default: break; } //这里获取产品的时候,是调用分页来调用。分页的个数由 anp.PageSize 控制 repNewPro.DataSource = pro.GetList("*", order, ordertype, anp.PageSize, anp.CurrentPageIndex, getCond()); repNewPro.DataBind(); } //获取条件 private string getCond() { string cond = "isxp=1"; return cond; } //分页控件点击事件(实际上就是重新绑定产品) protected void anp_PageChanged(object sender, EventArgs e) { BindRepPro(); } //如果select 有修改,那么我们就重新进行一次绑定数据 protected void ddlOrder_SelectedIndexChanged(object sender, EventArgs e) { BindRepPro(); }