public partial class _Default : System.Web.UI.Page
{
DBHelper db = new DBHelper();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.Rep1.DataSource = db.GetDataSet("select * from BigType");
this.Rep1.DataBind();
}
}
protected void Rep1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Label lbBid = e.Item.FindControl("lnBtid") as Label;
Repeater RepSmall = (Repeater)e.Item.FindControl("Rep2");
if (RepSmall != null)
{
RepSmall.DataSource = db.GetDataSet("select * from SmallType where BtId=" + lbBid.Text + " order by id desc");
RepSmall.DataBind();
}
}
}
protected void rep_ItemCommand(object source, RepeaterCommandEventArgs e)
{
int Stid = 0;
int Btid = 0;
if (e.CommandName == "Search")
{
Label ll = (Label)e.Item.Parent.Parent.FindControl("lnBtid");
Label lbbigtypename = (Label)e.Item.Parent.Parent.FindControl("lbBigTypeName");
Repeater r = (Repeater)e.Item.Parent.Parent.FindControl("Rep2");
///修改该类别颜色为默认色
foreach (Control rep in r.Controls)
{
LinkButton LinkButton = (LinkButton)rep.FindControl("Lbut");
if (LinkButton.ForeColor == System.Drawing.Color.Red)
{
LinkButton.ForeColor = System.Drawing.Color.Black;
}
}
LinkButton lb = (LinkButton)e.Item.FindControl("Lbut");
lb.ForeColor = System.Drawing.Color.Red;
Stid = Convert.ToInt32(e.CommandArgument);
Btid = Convert.ToInt32(ll.Text);
string BigTypename = lbbigtypename.Text;
string SmallTypeName = lb.Text;
if (BigTypename == "品牌")
{
if (lb.Text.Equals("不限"))
{
PinPai = "";
}
else
{
PinPai = Stid.ToString()+"|"+lb.Text;
}
}
else if (BigTypename == "价格")
{
if (lb.Text.Equals("不限"))
{
PriceID = "";
}
else
{
PriceID = Stid.ToString() + "|" + lb.Text;
}
}
else if (BigTypename == "颜色")
{
if (lb.Text.Equals("不限"))
{
Color = "";
}
else
{
Color = Stid.ToString() + "|" + lb.Text;
}
}
else if (BigTypename == "Cpu")
{
if (lb.Text.Equals("不限"))
{
Cpu = "";
}
else
{
Cpu = Stid.ToString() + "|" + lb.Text;
}
}
else if (BigTypename == "操作系统")
{
if (lb.Text.Equals("不限"))
{
XiTong = "";
}
else
{
XiTong = Stid.ToString() + "|" + lb.Text;
}
}
}
SearchInfo();
}
protected void SearchInfo()
{
DataTable dt = new DataTable("Search");
DataColumn dc1 = new DataColumn("TypeName", Type.GetType("System.String"));
DataColumn dc2 = new DataColumn("TypeID", Type.GetType("System.String"));
DataColumn dc3 = new DataColumn("ChooseName", Type.GetType("System.String"));
dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
dt.Columns.Add(dc3);
if (PinPai != "")
{
DataRow dr = dt.NewRow();
string[] str = PinPai.Split('|');
dr["TypeName"] = "品牌";
dr["TypeID"] = str[0];
dr["ChooseName"] = str[1];
dt.Rows.Add(dr);
}
if (PriceID != "")
{
DataRow dr = dt.NewRow();
string[] str = PriceID.Split('|');
dr["TypeName"] = "价格";
dr["TypeID"] = str[0];
dr["ChooseName"] = str[1];
dt.Rows.Add(dr);
}
if (Color != "")
{
DataRow dr = dt.NewRow();
string[] str = Color.Split('|');
dr["TypeName"] = "颜色";
dr["TypeID"] = str[0];
dr["ChooseName"] = str[1];
dt.Rows.Add(dr);
}
if (Cpu != "")
{
DataRow dr = dt.NewRow();
string[] str = Cpu.Split('|');
dr["TypeName"] = "Cpu";
dr["TypeID"] = str[0];
dr["ChooseName"] = str[1];
dt.Rows.Add(dr);
}
if (XiTong != "")
{
DataRow dr = dt.NewRow();
string[] str = XiTong.Split('|');
dr["TypeName"] = "系统";
dr["TypeID"] = str[0];
dr["ChooseName"] = str[1];
dt.Rows.Add(dr);
}
this.Rep.DataSource = dt;
this.Rep.DataBind();
}
/// <summary>
/// 价格ID
/// </summary>
public string PriceID
{
get
{
if (ViewState["Price"] != null)
{
return ViewState["Price"].ToString();
}
else
{
return "";
}
}
set
{
ViewState["Price"] = value;
}
}
/// <summary>
/// 品牌
/// </summary>
public string PinPai
{
get
{
if (ViewState["PinPai"] == null)
{
return "";
}
else
{
return ViewState["PinPai"].ToString();
}
}
set
{
ViewState["PinPai"] = value;
}
}
/// <summary>
/// 颜色
/// </summary>
public string Color
{
get
{
if (ViewState["Color"] == null)
{
return "";
}
else
{
return ViewState["Color"].ToString();
}
}
set
{
ViewState["Color"] = value;
}
}
/// <summary>
/// Cpu
/// </summary>
public string Cpu
{
get
{
if (ViewState["Cpu"] == null)
{
return "";
}
else
{
return ViewState["Cpu"].ToString();
}
}
set
{
ViewState["Cpu"] = value;
}
}
/// <summary>
/// 操作系统
/// </summary>
public string XiTong
{
get
{
if (ViewState["XiTong"] == null)
{
return "";
}
else
{
return ViewState["XiTong"].ToString();
}
}
set
{
ViewState["XiTong"] = value;
}
}
protected void Rep_ItemCommand1(object source, RepeaterCommandEventArgs e)
{
string TypeName = e.CommandArgument.ToString();
if (e.CommandName == "Del")
{
if (TypeName == "品牌")
{
PinPai = "";
}
else if (TypeName=="价格")
{
PriceID = "";
}
else if (TypeName == "颜色")
{
Color = "";
}
else if (TypeName == "Cpu")
{
Cpu = "";
}
else if (TypeName == "系统")
{
XiTong = "";
}
SearchInfo();
}
}
}
页面代码:
<asp:Repeater ID="Rep1" runat="server" onitemdatabound="Rep1_ItemDataBound">
<ItemTemplate>
<asp:Label ID="lnBtid" runat="server" Text='<%#Eval("id") %>' Visible="false"></asp:Label>
<asp:Label ID="lbBigTypeName" runat="server" Text='<%#Eval("BigTypeName") %>' ></asp:Label>
<asp:Repeater ID="Rep2" runat="server" onitemcommand="rep_ItemCommand">
<ItemTemplate>
<asp:LinkButton ID="Lbut" runat="server" ForeColor="Black" CommandName="Search" CommandArgument='<%#Eval("id") %>' Text='<%#Eval("SmallTypeName")%>'></asp:LinkButton>
</ItemTemplate>
</asp:Repeater>
<br /><br /><br />
</ItemTemplate>
</asp:Repeater>
<asp:Repeater ID="Rep" runat="server" onitemcommand="Rep_ItemCommand1">
<ItemTemplate>
<%#Eval("ChooseName")%><asp:ImageButton ID="ImageButton1" ImageUrl="~/images/1.png" runat="server" CommandName='Del' CommandArgument='<%#Eval("TypeName") %>' />
</ItemTemplate>
</asp:Repeater>