【发布时间】:2013-08-30 23:26:31
【问题描述】:
我有一个奇怪的问题,我做了一个全选复选框,标记为选中了很多复选框。
这是CheckedChanged 事件
protected void chkSelecionaTodasOcorrencias_CheckedChanged(object sender, EventArgs e)
{
if (chk_selecionaTodasOcorrencias.Checked)
{
foreach (ListItem c in chkBox_TiposOcorrencia.Items)
{
c.Selected = true;
}
}
else
{
foreach (ListItem c in chkBox_TiposOcorrencia.Items)
{
c.Selected = false;
}
}
chkBox_TiposOcorrencia.DataBind();
}
它检查所有复选框,或取消选中所有。
然后我有另一种方法可以在列表中插入所有复选框。
private List<int> insertItensInListIntegers(ListItemCollection itens)
{
int value = 0;
List<int> queryItens = new List<int>();
foreach (ListItem c in itens)
{
if (c.Selected) //<-- Here i'm getting false
{
tiposOcorrencias.TryGetValue(c.Text, out value);
queryItens.Add(value);
}
}
return queryItens;
}
参数中告知的值为:chkBox_TiposOcorrencia.Items
在屏幕上所有复选框都已检查,但当我尝试调试时,c.Selected 的值为false。
提前致谢。
【问题讨论】:
-
如果您在页面加载中填写下拉菜单,请注意您使用的是
!IsPostBack -
我认为这正是我的问题...我再次调试并发现 Itens 为 true,之后为 false,但我能做些什么来解决这个问题?