|
webform1.aspx
--------------------------------------------------------------- <%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="WebApplication3.WebForm1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML> <HEAD> <title>WebForm1</title> <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR"> <meta content="C#" name="CODE_LANGUAGE"> <meta content="JavaScript" name="vs_defaultClientScript"> <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema"> </HEAD> <body> <form id="Form1" method="post" runat="server"> <asp:DataList id="DataList1" runat="server" Width="80px"> <ItemTemplate> <asp:Label ID="labname" Runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"name")%>'></asp:Label> <asp:DataList id="DataList2" runat="server" RepeatDirection="Horizontal" RepeatColumns="5"> <ItemTemplate> <asp:Label ID="Label1" Width="50px" Runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"name")%>'></asp:Label> </ItemTemplate> </asp:DataList> </ItemTemplate> </asp:DataList> </form> </body> </HTML> ------------------------------------------------------------------
webForm1.aspx.cs
-------------------------------------------------------------------------
using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Data.SqlClient; namespace WebApplication3 { /// <summary> /// WebForm1 的摘要说明。 /// </summary> public class WebForm1 : System.Web.UI.Page { protected System.Web.UI.WebControls.DataList DataList1; private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面
SqlConnection con=new SqlConnection("server=.;uid=sa;pwd=;database=pubs"); SqlDataAdapter da=new SqlDataAdapter("select [name] from category",con); DataSet ds=new DataSet(); da.Fill(ds); this.DataList1.DataSource=ds; this.DataList1.DataBind(); } #region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) { // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.DataList1.ItemDataBound += new System.Web.UI.WebControls.DataListItemEventHandler(this.DataList1_ItemDataBound); this.Load += new System.EventHandler(this.Page_Load); } #endregion private void DataList1_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e) { if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem) { DataList dist=(DataList)e.Item.FindControl("DataList2"); Label lab=(Label)e.Item.FindControl("labname"); SqlConnection con=new SqlConnection("server=.;uid=sa;pwd=;database=pubs"); SqlDataAdapter da=new SqlDataAdapter("select [name] from detail where rid=(select id from catory where name='"+lab.Text+"')",con); DataSet ds=new DataSet(); da.Fill(ds); dist.DataSource=ds; dist.DataBind(); } } } } ------------------------------------------------------
注:要运行以上测试代码需要在pubs数据库建立两张表,主表category 只有两列,id,name; 子表detail ,有三列,id,name,rid;其中rid为引用主表的外键。然后录入测试数据。
运行结果如下:
数码 电脑 手机 汽车 宝马
具体显示格式,可以通过订制DataList模板来实现
|
一共有 0 条评论