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

本文关键字:asp 按钮 任何项 选择 列表 | 更新日期: 2023-09-27 18:35:44

如果列表框中未选择任何项目,我希望禁用我的按钮。我将按钮启用设置为 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;
        }
    }
}

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

试试这个:

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属性设置为true AutoPostBack并且按钮和ListBox EnableViewState都必须设置为true