1.html代码 < HTML > < HEAD > < title > NestedDataLists </ title > < meta name ="GENERATOR" Content ="Microsoft Visual Studio .NET 7.1" > < meta name ="CODE_LANGUAGE" Content ="C#" > < meta name ="vs_defaultClientScript" content ="JavaScript" > < meta name ="vs_targetSchema" content ="http://singlepine.cnblogs.com/" > </ HEAD > < body MS_POSITIONING ="GridLayout" > < form id ="Form1" method ="post" runat ="server" > < asp:DataList runat ="server" Id ="dlCategories" GridLines ="Both" Bordercolor ="black" cellpadding ="3" cellspacing ="0" Headerstyle-BackColor ="#DDDDDD" Headerstyle-Forecolor ="#777777" Headerstyle-Font-Name ="Arial" Headerstyle-Font-Size ="14" Headerstyle-Font-Bold ="true" Font-Name ="Arial" Font-Bold ="true" Font-Italic ="true" Font-Size ="11" ForeColor ="Red" RepeatColumns ="1" > < HeaderTemplate > 省市 & 市区 </ HeaderTemplate > < ItemTemplate > <% # DataBinder.Eval(Container, " DataItem.province " ) %> < br > < asp:DataList runat ="server" Id ="ChildDataList" GridLines ="None" Bordercolor ="black" cellpadding ="3" cellspacing ="0" Headerstyle-BackColor ="#8080C0" Headerstyle-Font-Name ="Arial" Headerstyle-Font-Size ="8" Font-Name ="Arial" Font-Size ="8" datasource ='<%# DataBinder.Eval(Container, "DataItem.myrelation") % > ' RepeatColumns="5"> < ItemTemplate > <% # DataBinder.Eval(Container, " DataItem.city " ) %> </ ItemTemplate > </ asp:DataList > </ ItemTemplate > </ asp:DataList > </ form > </ body > </ HTML > 2.cs代码 public class NestedDataLists : System.Web.UI.Page { protected System.Web.UI.WebControls.DataList dlCategories; private void Page_Load( object sender, System.EventArgs e) { string constring = System.Configuration.ConfigurationSettings.AppSettings[ " ConnectionString " ]; DataSet ds = new DataSet(); string sql1 = " select * from province " ; SqlDataAdapter sda1 = new SqlDataAdapter(sql1,constring); sda1.Fill(ds, " province " ); string sql2 = " select * from city " ; SqlDataAdapter sda2 = new SqlDataAdapter(sql2,constring); sda2.Fill(ds, " city " ); ds.Relations.Add( " myrelation " , ds.Tables[ " province " ].Columns[ " provinceID " ], ds.Tables[ " city " ].Columns[ " father " ]); dlCategories.DataSource = ds.Tables[ " province " ].DefaultView; dlCategories.DataBind(); } #region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN: This call is required by the ASP.NET Web Form Designer. // InitializeComponent(); base .OnInit(e); } /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this .Load += new System.EventHandler( this .Page_Load); } #endregion }