C# 在列表框中未选择任何项目时禁用asp按钮

C# 在列表框中未选择任何项目时禁用asp按钮,c#,asp.net,webforms,C#,Asp.net,Webforms,如果列表框中未选择任何项目,我希望禁用我的按钮。我已将按钮启用设置为false。选择某个项目时,按钮确实启用true,但是,启用按钮后,如果未选择任何列表项目,则不会禁用该按钮 代码隐藏: protected void Button2_Click(object sender, EventArgs e) { List<ListItem> itemsRemove = new List<ListItem>(); foreach (ListItem listIt

如果列表框中未选择任何项目,我希望禁用我的按钮。我已将按钮启用设置为false。选择某个项目时,按钮确实启用true,但是,启用按钮后,如果未选择任何列表项目,则不会禁用该按钮

代码隐藏:

protected void Button2_Click(object sender, EventArgs e)
{
    List<ListItem> itemsRemove = new List<ListItem>();

    foreach (ListItem listItem in ListBox1.Items)
    {
        if (listItem.Selected)
            itemsRemove.Add(listItem);

    }

    foreach (ListItem listItem in itemsRemove)
    {
        ListBox1.Items.Remove(listItem);
    }


}

protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    foreach (ListItem item in ListBox1.Items)
    {
        if (item.Selected)
        {
            Button2.Enabled = true;
        }
    }
}
试试这个:

protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    Button2.Enabled = false;

    foreach (ListItem item in ListBox1.Items)
    {
        if (item.Selected)
        {
            Button2.Enabled = true;
        }
    }
}
但这并不是此类功能的最佳解决方案,最好使用一些javascript代码来启用/禁用按钮

编辑最小解决方案:

protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    Button2.Enabled = ListBox1.Items.Any(x => x.Selected);

}
试试这个:

protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    Button2.Enabled = false;

    foreach (ListItem item in ListBox1.Items)
    {
        if (item.Selected)
        {
            Button2.Enabled = true;
        }
    }
}
但这并不是此类功能的最佳解决方案,最好使用一些javascript代码来启用/禁用按钮

编辑最小解决方案:

protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    Button2.Enabled = ListBox1.Items.Any(x => x.Selected);

}

您还应该将ListBox的AutoPostBack属性设置为true,并且按钮和ListBox的EnableViewState都必须设置为true。

您还应该将ListBox的AutoPostBack属性设置为true,并且按钮和ListBox的EnableViewState都必须设置为true。

感谢您的快速回复和建议。不幸的是,这并没有纠正这个问题。删除所选项目后,该按钮仍处于启用状态。移动按钮2。已启用=false;要翻页加载或调用列表框1,请选择按钮中的索引更改方法单击手柄谢谢您的快速回复和建议。不幸的是,这并没有纠正这个问题。删除所选项目后,该按钮仍处于启用状态。移动按钮2。已启用=false;要翻页,请加载或调用列表框1,请选择按钮中的索引更改方法单击手柄请将您的答案移至注释,或编辑现有答案请将您的答案移至注释,或编辑现有答案