当前位置: 代码迷 >> ASP.NET >> DropDownList的items添加的有关问题
  详细解决方案

DropDownList的items添加的有关问题

热度:5154   发布时间:2013-02-25 00:00:00.0
DropDownList的items添加的问题
我在Page_Load中添加如下代码
  this.DropDownList1.Items.Add(new ListItem("aaaaaaaaaaaaaaaaaaa"));
  this.DropDownList1.Items.Add(new ListItem("bbbbbbbbbbbbbbbbbbb"));
可是我每次select的时候 DropDownList1都会添加一次aaaaaaaaaaaa和bbbbbbbbbb 
即编程两个 “aaaaaaaaaaaaaaaaaaa” 和 两个 “bbbbbbbbbbbbbbbbbbb”
在选择一次就编程三个 “aaaaaaaaaaaaaaaaaaa”和 三个 “bbbbbbbbbbbbbbbbbbb”

 如果把AutoPostBack设置成false就不这样 但是selected事件也不响应了
请问大家有什么好的方法让列表不每次都增加相同的内容么


------解决方案--------------------------------------------------------
修改如下,只是在页面第一次加载时给下拉框绑定

C# code
 protected void Page_Load(object sender, EventArgs e)        {            if (!IsPostBack)            {                this.DropDownList1.Items.Add(new ListItem("aaaaaaaaaaaaaaaaaaa"));                this.DropDownList1.Items.Add(new ListItem("bbbbbbbbbbbbbbbbbbb"));            }        }
------解决方案--------------------------------------------------------
C# code
if (!IsPostBack){  this.DropDownList1.Items.Add(new ListItem("aaaaaaaaaaaaaaaaaaa"));  this.DropDownList1.Items.Add(new ListItem("bbbbbbbbbbbbbbbbbbb"));}
------解决方案--------------------------------------------------------
如 楼上所说,写在if (!IsPostBack)里面就行了:首次加载时添加即可
------解决方案--------------------------------------------------------
if (!IsPostBack) 
使第一次加载的时候执行代码,其他post回来的时候不执行。
------解决方案--------------------------------------------------------
C# code
if (!IsPostBack){  this.DropDownList1.Items.Add(new ListItem("aaaaaaaaaaaaaaaaaaa"));  this.DropDownList1.Items.Add(new ListItem("bbbbbbbbbbbbbbbbbbb"));}
------解决方案--------------------------------------------------------
都是牛人,这么晚了,都还在啊!
------解决方案--------------------------------------------------------
出现那种情况是因为你页面回传的时候又绑定了一下,所以你要设置不是回传页面时再添加!
C# code
if (!IsPostBack)//如果不是回传页面再添加DropDownList1项            {                this.DropDownList1.Items.Add(new ListItem("aaaaaaaaaaaaaaaaaaa"));                this.DropDownList1.Items.Add(new ListItem("bbbbbbbbbbbbbbbbbbb"));            }
------解决方案--------------------------------------------------------
1L正解。
------解决方案--------------------------------------------------------
都是正解和最简单的解法
------解决方案--------------------------------------------------------
绑定之前清空ddl

this.DropDownList1.Items.Clear();
------解决方案--------------------------------------------------------
1楼正解。
------解决方案--------------------------------------------------------
楼上都是正解。
------解决方案--------------------------------------------------------
上面都说了、
------解决方案--------------------------------------------------------
if (!IsPostBack)

代码写这里就可以了、

如果把AutoPostBack设置为false的话他就不提交了、
所以不会响应你的selected事件
------解决方案--------------------------------------------------------
或者添加之前清空一下
DropDownList1.Items.Clear();
------解决方案--------------------------------------------------------
if (!IsPostBack)

代码写这里就可以了、

IsPostBack这个东西楼主需要理解一下,这是说明是否是第一次请求本画面
  相关解决方案