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

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这个东西楼主需要理解一下,这是说明是否是第一次请求本画面