动态添加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();