2011-03-19 46 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