首页 > 程序开发 > 软件开发 > C# >

无限分级Repeater递归实现:读取一次数据库,使用LINQ2SQL技术,支持排序&显示隐藏

2010-11-10

预览效果图:   数据库结构: id(int)    classname(string)   parentid(int) sort(int用于显示与排序) 1  家居  0  1 2  家电  0  2 3  沙发  1  1 4  某... &

预览效果图:

\

数据库结构:

id(int) classname(string) parentid(int) sort(int用于显示与排序)

1  家居  0  1

2  家电  0  2

3  沙发  1  1

4  某...  3 1

...

10 ...红色 4 1

注:

parentid 父节点ID

sort 用于隐藏或显示 兼排序功能

前台:

<asp:Repeater ID="rep" runat="server" onitemdatabound="rep_ItemDataBound">
<HeaderTemplate></HeaderTemplate>
<ItemTemplate></ItemTemplate>
<FooterTemplate></FooterTemplate>
</asp:Repeater>

后台:

\代码
public partial class 递归2 : System.Web.UI.Page
{
public List<cmodel>
list;
protected void Page_Load(object
sender, EventArgs e)
{
if (!
IsPostBack)
{
rules r
= new
rules();
list
=
r.getlist();//读取数据库
this.rep.DataSource = list.Where(x => x.parentid == 0
).ToList();//LINQ2OBJECT
this
.rep.DataBind();
}
}

protected void rep_ItemDataBound(object
sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType ==
ListItemType.Header)
{
Literal l
= new
Literal();
l.ID
= "ul"
;
&nbsp
热点推荐