今天看视频,收获了一个新的解决方法。如在做有自引用数据的显示的时候有时候会觉得treeview的呈现比较呆板,想要做比较灵活的显示方式的时候,需要使用repeater等来显示,这时就会有repeater的控件的嵌套问题,这是比较难解决的。今天看视频的时候,视频中是这样解决的。
1.首先取根元素列表,使用一个repeater----parentrepeater显示
2.做一个webusercontrol——a,暴露一个属性parentid,用来设置父级的id,用户控件中a中使用一个repeater显示父id为指定id的子元素的列表。
3.将a放在parentrepeater中,使用eval方法为其指定parentid属性。
附:在制作a的过程中可为属性指定System.ComponentModel.Bindable特性,这个特性表名类的属性可以使用数据绑定,当然不指定这个特性也可以。举例如下:
[System.ComponentModel.Bindable(true, System.ComponentModel.BindingDirection.OneWay)]
public int ParrentCategoryId
{
get
{
return int.Parse(this.HiddenFieldParrentCategoryID.Value);
}
set
{
this.HiddenFieldParrentCategoryID.Value = value.ToString();
}
}