2013-03-09 36 views
0

我有这个在我的aspx页面:ASPX列表框不工作(的SelectedIndex)

<asp:ListBox ID="ListBoxDelete" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ListBoxDelete_SelectedIndexChanged1"></asp:ListBox> 

后面的代码:

protected void Page_Load(object sender, EventArgs e){ 
    ListBoxDelete.Items.Clear(); 
    List<string> itens = new List<string>(); 
    for(var item in itens){ 
     ListBoxDelete.Items.Add(item); 
    } 
} 

protected void ListBoxDelete_SelectedIndexChanged1(object sender, EventArgs e){ 
    int x = ListBoxDelete.SelectedIndex; 
    doSomething(x); 
} 

我的SelectedIndex是不工作...如果我没有记错,该值始终为-1。 什么问题? 从此开始感谢。

+2

也许[相关](http://stackoverflow.com/questions/4686319/listbox-not -getting-selected-items?rq = 1) – rene 2013-03-09 12:54:46

+0

显示代码在哪里绑定这个ListBox – 2013-03-09 12:55:07

+1

可能你错过了'如果(!IsPostBack)''page_load'事件 – Dotnet 2013-03-09 13:24:04

回答

1

更改您的代码如下,并尝试

protected void Page_Load(object sender, EventArgs e){ 
if(!IsPostBack) 
{ 
    ListBoxDelete.Items.Clear(); 
    List<string> itens = new List<string>(); 
    for(var item in itens){ 
     ListBoxDelete.Items.Add(item); 
    } 
} 
} 
1

更新您的Page_Load有如果IsPostBack

protected void Page_Load(object sender, EventArgs e){ 
if (!IsPostBack) 
    { 
    ListBoxDelete.Items.Clear(); 
    List<string> itens = new List<string>(); 
     for(var item in itens){ 
     ListBoxDelete.Items.Add(item); 
    } 
    } 
} 
相关问题