2011-09-29 79 views
0

我有,我有多個值選定索引更改的列表框多項選擇?

<asp:ListBox ID="lstbox" runat="server" SelectionMode="Multiple" Width="120px"> 
<asp:ListItem Value="0">None</asp:ListItem> 
<asp:ListItem Value="8">Rohan</asp:ListItem> 
<asp:ListItem Value="16">Jems</asp:ListItem> 
<asp:ListItem Value="64">Tena</asp:ListItem> 
<asp:ListItem Value="4">Marry</asp:ListItem> 
<asp:ListItem Value="2">Pinky</asp:ListItem> 
<asp:ListItem Value="32">Coral</asp:ListItem> 
<asp:ListItem Value="1">Dev</asp:ListItem> 
<asp:ListItem Value="128">Sam</asp:ListItem> 
</asp:ListBox> 

一次我想選擇一個項目或一個以上的和一個選擇的指數變化我打電話的方法

protected void lstbox_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     Presenter.getRoles();//filling a grid from database call 
    } 

    public void getRoles() 
    { 
     int proid = 0; 
     int per=0; 
     if (View.UPrivileges.Count > 0) 
     { 
      proid = Convert.ToInt32(View.UPrivileges.SelectedValue);//listbox selection 
      per= Convert.ToInt32(View.Products.SelectedValue);// i have a ddl product checking the value 
     } 
     if (proid != 0 || per !=0) 
     { 
      View.Ownerid = per.ToString(); 
      View.Role = (CRole)proid; 
      List<User> list = new List<User>(); 
      list.AddRange(userDao.GetUserRolesForItems(View.Role, View.Ownerid));// query method call   View.UserListItems.List = list; 
      View.UserListItems.TotalRowCount = list.Count; 
     } 
    } 

一個列表框當我選擇1值,然後它的工作正常,但對於多個項目給出錯誤,我想知道它是否可能與selectedIndexChange或不是,如果是的話,如果不是,那麼如何做到這一點按一下按鈕點擊

+0

需要更多信息。你看到什麼錯誤? getRoles()做了什麼?請在代碼中顯示您訪問列表的位置以獲取所選項目。另外,如目前所示,您的列表實際上並沒有定義回調lstbox_SelectedIndexChanged() - 我認爲這是一個疏忽? – mikemanne

+0

我看到你已經添加了更多的代碼,但它看起來並不像代碼引用你定義的「lstbox」。您還沒有告訴我們關於您遇到的錯誤的任何信息。 – mikemanne

+0

我已經刪除了部分代碼,任何人都可以請告訴我如何選擇多個值的列表框? – Rocky

回答

1

this可能會幫助

foreach (ListItem item in lstbox.Items) 
     { 
      if (item.Selected) 
      { 
       //code here 

      } 
     }