在页面上 放 一个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
因为只创建了一个Label实例
Panel1 就没有子控件了.
改成下面代码,看看执行前后的区别:
protected void Page_Load(object sender, EventArgs e)
{
//if (!Page.IsPostBack)
//{
// this.add();
//}
this.add();
} public void add()
{
for (int i = 0; i < 10; i++)
{
Button b = new Button();
b.Text = i.ToString();
this.Panel1.Controls.Add(b);
}
this.TextBox1.Text = this.Panel1.Controls.Count.ToString();
} protected void Button1_Click(object sender, EventArgs e)
{
this.Label1.Text = this.Panel1.Controls.Count.ToString();
}
难道你看不明白?