一般项目总很多地方会有分类这样一个功能..
一级分类,二级分类,三级分类这样的..
要显示这样的一个分类,常用的方法是使用treeview控件.
但也有不少人是使用Repeater控件多个嵌套来模拟tree的..
怎么样实现呢,方法不少..现在来一个比较简单的.
上图:
这是一个简单的二级分类..
aspx代码是这样的:
Code <asp:Repeater ID="Repeater1" runat="server"> <ItemTemplate> <table> <tr><td width="150"><h3> <%#DataBinder.Eval(Container.DataItem,"kemu_category_name") %>//这里是绑定的一级分类名称 </h3></td></tr> <tr><td> <asp:Repeater ID="Repeater2" runat="server" DataSource='<%#GetDataSourceById(Convert.ToInt32(DataBinder.Eval(Container.DataItem,"kemu_category_id"))) %>'>//这里的GetDataSourceById是一个带参数的方法,写在CS文件里.将一级分类的ID(kemu_category_id)传进来. <ItemTemplate> <table><tr><td> <%#DataBinder.Eval(Container.DataItem,"kemu_name") %>//这里绑定的则是二级分类的名称了. </td></tr></table> </ItemTemplate> </asp:Repeater> </td></tr> </table> </ItemTemplate> </asp:Repeater>
接下来看看CS文件的代码:
Code using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using BLL;public partial class web_account_kemumingxi : System.Web.UI.Page{ ManageKemu MKemu = new ManageKemu(); DataSet ds = new DataSet(); protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DataBindToRP1(); } } //绑定一级分类的方法. public void DataBindToRP1() { ds.Clear(); ds = MKemu.ShowKemuCategory();//这里大家自己写数据读取的方法 Repeater1.DataSource = ds; Repeater1.DataBind(); } //这里就是aspx文件里调用的那个方法了.返回一个DataSet public DataSet GetDataSourceById(int id) { MKemu.Kemu_category_id = id; ds = MKemu.ShowDetailKemu(); return ds; }}
就这样就行了...代码不多吧..主要是比较简单,所以推荐使用..上面代码里的命名是随便写的,为了方便看.请看官不要追究命名规范问题...谢谢.