前台:
<div style=" width:60%; margin:0 auto;">
<asp:DataList ID="DataList1" runat="server"
onitemdatabound="DataList1_ItemDataBound" RepeatColumns="3"
RepeatDirection="Horizontal">
<ItemTemplate>
<table>
<tr>
<td>
<asp:Label ID="labName" runat="server" Text='<%# Eval("classname") %>'
Font-Bold="True" ForeColor="Red"></asp:Label>
<asp:Label ID="labClassID" runat="server" Text='<%#Eval("classid") %>' Visible="False"></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:DataList ID="DataList2" runat="server">
<ItemTemplate>
<table>
<tr>
<td><a href=""><%#Eval("title") %></a></td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
</div>
后台:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetClassName();
}
}
private void GetClassName()
{
SqlConnection con = new SqlConnection(strcon);
SqlCommand cmd = con.CreateCommand();
cmd.CommandText = "select top 3 * from ArticleClass";
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adapter.Fill(dt);
this.DataList1.DataSource = dt;
this.DataList1.DataBind();
}
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Label labClassName = e.Item.FindControl("labName") as Label;
Label labClassId = e.Item.FindControl("labClassID") as Label;
if (labClassName != null && labClassId != null)
{
DataList datalist2 = e.Item.FindControl("DataList2") as DataList;
if (datalist2 != null)
{
SqlConnection con = new SqlConnection(strcon);
SqlCommand cmd = con.CreateCommand();
cmd.CommandText = "select * from ArticleInfo where classid=@classid";
cmd.Parameters.AddWithValue("@classid",labClassId.Text);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adapter.Fill(dt);
datalist2.DataSource = dt;
datalist2.DataBind();
}
}
}