首页 新闻 赞助 找找看

自定义的模板控件,回发后数据没了,第一次加载有数据

0
悬赏园豆:5 [待解决问题]
 
数据绑定是这样,当然把if去掉是不存在回发没数据的问题的
if (!IsPostBack)
{
List<aa> a = new List<aa>() { new aa() { title = "sdfsdf" } };
DataList1.DataSource = a;
DataList1.DataBind();
}
---------------------------------------
控件代码
[PersistChildren(true)]
[ParseChildren(
true)]
public class Class1 : Control
{
Control c
= new Control();

private ITemplate template;
[PersistenceMode(PersistenceMode.InnerProperty)]
[TemplateInstance(TemplateInstance.Single)]
public ITemplate Template
{
get
{
return template;
}
set
{
template
= value;
template.InstantiateIn(c);
}

}
protected override void CreateChildControls()
{
//base.CreateChildControls();
Controls.Clear();

Controls.Add(c);
}
}
问题补充:

都没有人理?

nero_liu的主页 nero_liu | 初学一级 | 园豆:14
提问于:2011-06-22 20:16
< >
分享
所有回答(1)
0

首先不是没人理,只有5分很多人就不来看了。

关于你的问题,在第一次回传后你不给他datasource,list里当然没有数据了。

建议如下:

PageLoad中跟你的一样不变

if (!IsPostBack)
{
List<aa> a = new List<aa>() { new aa() { title = "sdfsdf" } };
DataList1.DataSource = a;
DataList1.DataBind();
}

 然后在datalist的点击事件中获取选中的值,再bind一次就可以了。

希望能帮到你,如果不行,请给出源代码。

today4king | 园豆:3499 (老鸟四级) | 2011-06-23 20:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册