日期:2014-05-17  浏览次数:20914 次

如何在asp.net页面中动态建立控件
且看我如何实现:
protected void Page_Load(object sender, EventArgs e)
  {
  AddPP();
  }
  protected void Button2_Click(object sender, EventArgs e)
  {
  if (ViewState["AddPP"] == null)
  {
  ViewState["AddPP"] = true;
   
  }
  AddPP();
  }
  public void AddPP()
  {
  if (ViewState["AddPP"] == null) return; //第一次的打开页面时候不干这事
  int i = Tb_PP.Rows.Count;
  Image img = new Image();
  img.Height = 140;
  img.Width = 150;
  img.ImageUrl = @"../GoodsPic/20120211165005921.jpg";
  img.Visible = true;
  img.EnableViewState = true;

  TableRow row = new TableRow();
  TableCell cell = new TableCell();
  cell.Controls.Add(img);
  row.Cells.Add(cell);
  Tb_PP.Rows.Add(row);
  }
Tb_PP就是一个服务端table控件,,以上方面最多只能动态建立两个图片,,每次点击Page_Load的时候,TB_PP都自动清空里面的数据,不知道咋回事,我的EnableViewState 已经设置为 true了啊!!谢谢各位大侠指点。

------解决方案--------------------
服务器控件不保持状态哈,没吃都得你控制生成所有的控件
------解决方案--------------------
静态的试试
------解决方案--------------------
用静态的试试
------解决方案--------------------
C# code
Page_Load(object sender, EventArgs e)执行后才执行
Button2_Click(object sender, EventArgs e)方法