选中复选框列表后,我设置了以下方法。
protected void chk1_SelectedIndexChanged(object sender, EventArgs e)
{
foreach (ListItem list in chk1.Items)
{
if (list.Selected)
{
string name = list.Value.ToString();
}
}
}
我需要从复选框列表中显示选中的项目。但是,对于每次迭代,所选属性始终为false。它永远不会满足条件
if (list.Selected)
{
string name = list.Value.ToString();
}
我该如何解决这个问题?
答案 0 :(得分:1)
尝试这样的事情
var selectedListItems = chk1.Items.Cast<ListItem>().Where(x => x.Selected);
或在你的情况下
var list = chk1.Items.Cast<ListItem>().Where(x => x.Selected);
现在您将拥有一个可以检查/编码的集合
还要确保此代码被触发并检查是否存在PostBack
您可以通过查看if(!Is.PostBack){ }
答案 1 :(得分:0)
我的钱在你重新绑定每个回发的控件,而不是这样做:
if (!Page.IsPostBack)
{
// Only bind controls on initial page and let viewstate remember what the user did
}