Web表单上的C#列表框所选项目显示为null

时间:2016-08-11 15:31:26

标签: c# asp.net select listbox

我正在尝试使用ASP#WEB表单创建一个Web应用程序,使用C#,我有一个列表框,其中填充了来自SQL表的数据,我需要将所选项目发送到字符串,我写了一个方法要选择all复选框,当选择all时,我会按预期获得所有数据,但如果只选择1个3或5个项目,我会得到Null引用。

这是Button上的代码

protected void Button1_Click(object sender, EventArgs e)
{

    foreach (ListItem value in ListBox1.Items)
    {
        if (value.Selected)
        {
            Label1.Text += value.ToString() + ", ";
        }    
    }

这是html文件中的代码。

<asp:UpdatePanel ID="UpdatePanel2" runat="server">
    <ContentTemplate>
        <asp:ListBox ID="Listbox1" runat="server" Height="168px" SelectionMode="Multiple" Width="168px" OnSelectedIndexChanged="Hidrologias_SelectedIndexChanged">            
        </asp:ListBox>
    </ContentTemplate>
    <Triggers>
      <asp:AsyncPostBackTrigger ControlID="Descp_Casos" EventName="SelectedIndexChanged"  />    
    </Triggers>
</asp:UpdatePanel>

<asp:UpdatePanel ID="UpdatePanel9" runat="server">
    <ContentTemplate>
        <asp:CheckBox ID="CheckBox21" runat="server" OnCheckedChanged="Selec_Todo" Text="Selecionar Todos" AutoPostBack="True"/>
    </ContentTemplate>
</asp:UpdatePanel>

这是我用来选择所有

的方法
protected void Selec_Todo(object sender, EventArgs eventArgs)
{
    ListBox1.SelectionMode = ListSelectionMode.Multiple;
    if (CheckBox21.Checked)
    {
        foreach(ListItem item in ListBox1.Items)
        {
            item.Selected = true;   
        }
    }
    else if (!CheckBox21.Checked)
    {
        foreach (ListItem item in ListBox1.Items)
        {
            item.Selected = false;
        }
    }
请给我一些指导。

0 个答案:

没有答案