在页面上 放 一个Button1 和 一个 Panel1 代码如下:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
this.add();
}
}
void add()
{
for (int i = 0; i < 10; i++)
{
Label L = new Label();
L.Text = i.ToString();
this.Panel1.Controls.Add(L);
}
}
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write(this.Panel1.Controls.Count);
}Panel1 的 EnableViewState="true" ;当点击Button1的时候会输出什么呢???我认为是10
你认为是什么呢????为什么呢??请指教
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
this.add();
}
}
void add()
{
for (int i = 0; i < 10; i++)
{
Label L = new Label();
L.Text = i.ToString();
this.Panel1.Controls.Add(L);
}
}
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write(this.Panel1.Controls.Count);
}Panel1 的 EnableViewState="true" ;当点击Button1的时候会输出什么呢???我认为是10
你认为是什么呢????为什么呢??请指教
本机运行 环境 : win xp ; ASP.NET 2.0
我将 Panel1 替换为 PlaceHolder
点击按钮之后...输出结果 为 0
动态加载Asp.net分页控件
http://blog.csdn.net/zhzuo/archive/2004/11/30/199065.aspx
因为点击Button,页面重新加载,这时候Page.IsPostBack==true,所以它不会执行你的Add的方法,所以Panel的控件数还是为0。
如果把if (!Page.IsPostBack)去掉,应该可以实现你的效果