首页 新闻 会员 周边

页面执行周期问题???

0
悬赏园豆:20 [已解决问题] 解决于 2011-09-30 14:45

在page_load中:

DropDownList ddl = new DropDownList();
if (!IsPostBack)
{
ddl.Items.Add(new ListItem("1", "1"));
ddl.Items.Add(new ListItem("2", "2"));
}
this.Form.Controls.Add(ddl);

在单击按钮后,下拉框中选项为

第二种情况:

DropDownList ddl = new DropDownList();

this.Form.Controls.Add(ddl);  //放在if(!IsPostBack)前面
if (!IsPostBack)
{
ddl.Items.Add(new ListItem("1", "1"));
ddl.Items.Add(new ListItem("2", "2"));
}

为什么下拉框中有选项了??

隔山打牛的主页 隔山打牛 | 初学一级 | 园豆:87
提问于:2011-09-30 09:57
< >
分享
最佳答案
0
收获园豆:20
artwl | 专家六级 |园豆:16736 | 2011-09-30 10:48

关键是理论上this.Form.Controls.Add(ddl);放在前和后都要执行

隔山打牛 | 园豆:87 (初学一级) | 2011-09-30 11:03

@隔山打牛:

是执行了,但第一个里面没有内容,当然是空的

artwl | 园豆:16736 (专家六级) | 2011-09-30 11:05

还不清楚,能再解释一下吗??

隔山打牛 | 园豆:87 (初学一级) | 2011-09-30 11:23

@隔山打牛:

if (!IsPostBack)
{
ddl.Items.Add(new ListItem("1", "1"));
ddl.Items.Add(new ListItem("2", "2"));
}

第一种情况下,你点击按钮算是回发,回发时这段代码不会执行,所以下拉框里为空。

artwl | 园豆:16736 (专家六级) | 2011-09-30 11:25

那第二种,为什么下拉框里有值了???估计我问题描述的有问题,详细的问题描述在这里:

http://topic.csdn.net/u/20110930/02/c3d0eba6-453d-4168-9e45-b6a36d7bc346.html

隔山打牛 | 园豆:87 (初学一级) | 2011-09-30 11:30

求解答!

隔山打牛 | 园豆:87 (初学一级) | 2011-09-30 11:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册