2011-03-19 77 views
1

我有一個ListBox,其中有三個項目。還有一個GridView和一個按鈕。在ASP.Net中選擇ListBox selectedindex的問題:

我要的是單擊按鈕時在列表框中移動所選項目到GridView。

現在的問題是,如果我在列表框中選擇第三項並點擊按鈕,它總是在列表框到GridView移動的第一個項目。

如何解決這個問題?

<asp:ListBox ID="lbDrawing" runat="server" AutoPostBack="false" Height="260px" TabIndex="12" Width="150px"></asp:ListBox> 

在按鈕點擊事件,我選擇由以下C#代碼的項目,

串itemsname = lbDrawing.Items [lbDrawing.SelectedIndex]。文本;

任何人都請幫助我。

在這裏,我填基於DropDownList的SelectedIndex的更改事件列表框。所以我不能綁定頁面中的ListBox不是PostBack塊。

+0

你試過對於每一個循環? – Mitul 2011-03-19 06:22:36

+0

@Mitul:不,我沒試過。在哪個基礎上我必須做循環? – thevan 2011-03-19 06:27:41

回答

2

貌似該列表框甚至在回傳的約束。檢查並確保列表框的DataBind位於if (!IsPostBack) {}塊內。

+0

實際上我正在填充DropDownList selectedindex改變的事件中的列表框。所以我不能把它放在Not Post Back塊中。 – thevan 2011-03-19 06:20:05

0

檢查了這一點。

protected void Button1_Click(object sender, EventArgs e) 
    { 


     foreach (ListItem lst in ListBox1.Items) 
     { 
      if (lst.Selected) 
      { 
       //TODO: Apply checked logic here. 
      } 

     } 

    } 
+2

你可以使用'ListBox'的'SelectedItems'屬性。使用該集合將消除對「if-block」的需求。 – IAbstract 2011-06-16 16:09:30