第一个表
brand
字段: brandname ,brandid第二个表
category
字段: categoryname,categoryid,brandid,brandname现在循环显示分类:大分类一
小分类11
小分类12
小分类13
大分类二
小分类21
小分类22
.......
.....怎么写呢?
brand
字段: brandname ,brandid第二个表
category
字段: categoryname,categoryid,brandid,brandname现在循环显示分类:大分类一
小分类11
小分类12
小分类13
大分类二
小分类21
小分类22
.......
.....怎么写呢?
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
//找到Repeater2
Repeater Repeater2 = (Repeater)e.Item.FindControl("Repeater2");
DataRowView row = (DataRowView)e.Item.DataItem;
Repeater2.DataSource = sort.Getsort_class(Convert.ToInt32(row["第一个表的字段"]));
Repeater2.DataBind();
}
<asp:Repeater ID="LV1" runat="server">
<ItemTemplate>
<h3> <%#Eval("brandname") %></h3>
<asp:Repeater ID="LV2" runat="server" DataSource='<%# LV2source(Eval("brandid")) %>'> <ItemTemplate>
<a href="#"><%#Eval("categoryname") %></a>
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
--------------------------private string _connstring = WebConfigurationManager.ConnectionStrings["proconnectionstring"].ConnectionString; protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
SqlConnection con=new SqlConnection(_connstring);
SqlCommand cmd=new SqlCommand();
cmd.Connection=con;
cmd.CommandText="select * from probrand"; SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet dst = new DataSet();
using (sda)
{
con.Open();
sda.Fill(dst);
}
LV1.DataSource=dst;
LV1.DataBind();
}
}
public DataSet LV2source(object lv1id)
{
SqlConnection con=new SqlConnection(_connstring);
SqlCommand cmd=new SqlCommand();
cmd.Connection=con;
cmd.CommandText="select * from procategory where brandid=@brandid";
cmd.Parameters.AddWithValue("@brandid",lv1id); SqlDataAdapter sda=new SqlDataAdapter(cmd);
DataSet dst=new DataSet();
using (sda)
{
con.Open();
sda.Fill(dst);
}
return dst;
}
前台
<%= strmenu %>
后台
public static string strmenu = string.Empty;
protected void Page_Load(object sender, EventArgs e)
{ //mock下数据brand category
DataTable dtOne = new DataTable();
dtOne.Columns.Add("brandid", typeof(string));
dtOne.Columns.Add("brandname", typeof(string)); DataTable dtTwo = new DataTable();
dtTwo.Columns.Add("brandid", typeof(string));
dtTwo.Columns.Add("brandname", typeof(string));
dtTwo.Columns.Add("categoryid", typeof(string));
dtTwo.Columns.Add("categoryname", typeof(string)); //添加数据 for (int i = 1; i < 10; i++)
{
DataRow dr = dtOne.NewRow();
dr[0] = i.ToString();
dr[1] = "大分类" + i;
dtOne.Rows.Add(dr);
}
//添加数据 for (int j = 1; j < 10; j++)
{
DataRow dr1 = dtTwo.NewRow();
dr1[0] = j.ToString();
dr1[1] = "大分类" + j;
dr1[2] = "a" + j;
dr1[3] = "小分类" + j.ToString() + j.ToString();
dtTwo.Rows.Add(dr1);
}
foreach (DataRow d1 in dtOne.Rows)
{
strmenu += d1["brandname"].ToString() + "<br/>";
DataRow[] drsChild = dtTwo.Select("brandid=" + d1["brandid"] + "");
DataTable ChildDataTable = drsChild[0].Table.Clone();
foreach (DataRow drs in drsChild)
{
ChildDataTable.ImportRow(drs);
}
if (ChildDataTable.Rows.Count != 0)
{
for (int k = 0; k <= ChildDataTable.Rows.Count - 1; k++)
{
strmenu += " " + ChildDataTable.Rows[k]["categoryname"].ToString() + "<br/>";
}
}
}
}
跑一下.