动态添加DataList
DataList list = new DataList();
list.ItemTemplate = Page.LoadTemplate("A.ascx");
list.ItemDataBound += new DataListItemEventHandler(list_ItemDataBound);
list.DataSource = dt;
list.DataBind();void list_ItemDataBound(object sender, DataListItemEventArgs e)
{
Control ctrl = e.Item.Controls[0];
Label lbl = (Label)ctrl.FindControl("lbl");
lbl.Text = DataBinder.Eval(e.Item.DataItem, "name").ToString();
}class MyTemplate : ITemplate
{
public void InstantiateIn(Control container)
{
Literal lbl = new Literal();
lbl.DataBinding += new EventHandler(lbl_DataBinding);
container.Controls.Add(lbl);
}
private void lbl_DataBinding(object sender, EventArgs e)
{
Literal lbl = (Literal)sender;
lbl.Text = "<a href=\"" + DataBinder.Eval(((DataListItem)lbl.NamingContainer).DataItem, "Link").ToString() + "\">" + DataBinder.Eval(((DataListItem)lbl.NamingContainer).DataItem, "Name").ToString() + "</a>";
}
datalist.ItemTemplate = new MyTemplate();
DataList list = new DataList();
list.ItemTemplate = Page.LoadTemplate("A.ascx");
list.ItemDataBound += new DataListItemEventHandler(list_ItemDataBound);
list.DataSource = dt;
list.DataBind();void list_ItemDataBound(object sender, DataListItemEventArgs e)
{
Control ctrl = e.Item.Controls[0];
Label lbl = (Label)ctrl.FindControl("lbl");
lbl.Text = DataBinder.Eval(e.Item.DataItem, "name").ToString();
}class MyTemplate : ITemplate
{
public void InstantiateIn(Control container)
{
Literal lbl = new Literal();
lbl.DataBinding += new EventHandler(lbl_DataBinding);
container.Controls.Add(lbl);
}
private void lbl_DataBinding(object sender, EventArgs e)
{
Literal lbl = (Literal)sender;
lbl.Text = "<a href=\"" + DataBinder.Eval(((DataListItem)lbl.NamingContainer).DataItem, "Link").ToString() + "\">" + DataBinder.Eval(((DataListItem)lbl.NamingContainer).DataItem, "Name").ToString() + "</a>";
}
datalist.ItemTemplate = new MyTemplate();
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货