C# 在列表框中未选择任何项目时禁用asp按钮
如果列表框中未选择任何项目,我希望禁用我的按钮。我已将按钮启用设置为false。选择某个项目时,按钮确实启用true,但是,启用按钮后,如果未选择任何列表项目,则不会禁用该按钮 代码隐藏: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
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,请选择按钮中的索引更改方法单击手柄请将您的答案移至注释,或编辑现有答案请将您的答案移至注释,或编辑现有答案