我找到两中方法可以给动态添加的Repeater绑定数据 不明白它门的差别 好坏 请大家评论一下第一种是网上很多的通过ITemplate接口
的InstantiateIn方法
public void InstantiateIn(System.Web.UI.Control container)
{
switch (templateType)
{
case DataControlRowType.Header:
Literal lc = new Literal();
lc.DataBinding += new EventHandler(lc_DataBinding);
container.Controls.Add(lc);
break;
case DataControlRowType.DataRow:
Literal lc1 = new Literal();
lc1.DataBinding += new EventHandler(lc_DataBinding);
container.Controls.Add(lc1);
break;
default:
break;
}
}
void lc_DataBinding(object sender, EventArgs e)
{
Literal lc;
lc = (Literal)sender;
RepeaterItem container = (RepeaterItem)lc.NamingContainer;
lc.Text = DataBinder.Eval(container.DataItem, "text").ToString();
}第二种是我根据上面改的
通过ItemDataBound事件
void rep_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
RepeaterItem container = (RepeaterItem)e.Item;
Literal lc = new Literal();
lc.Text = DataBinder.Eval(container.DataItem, "text").ToString();
e.Item.Controls.Add(lc);
}
}希望高手赐教
的InstantiateIn方法
public void InstantiateIn(System.Web.UI.Control container)
{
switch (templateType)
{
case DataControlRowType.Header:
Literal lc = new Literal();
lc.DataBinding += new EventHandler(lc_DataBinding);
container.Controls.Add(lc);
break;
case DataControlRowType.DataRow:
Literal lc1 = new Literal();
lc1.DataBinding += new EventHandler(lc_DataBinding);
container.Controls.Add(lc1);
break;
default:
break;
}
}
void lc_DataBinding(object sender, EventArgs e)
{
Literal lc;
lc = (Literal)sender;
RepeaterItem container = (RepeaterItem)lc.NamingContainer;
lc.Text = DataBinder.Eval(container.DataItem, "text").ToString();
}第二种是我根据上面改的
通过ItemDataBound事件
void rep_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
RepeaterItem container = (RepeaterItem)e.Item;
Literal lc = new Literal();
lc.Text = DataBinder.Eval(container.DataItem, "text").ToString();
e.Item.Controls.Add(lc);
}
}希望高手赐教
为什么呢 想知道他们的区别