在复选框列表中获取所选值

时间:2013-08-05 21:25:46

标签: c# asp.net

选中复选框列表后,我设置了以下方法。

 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();
                }

我该如何解决这个问题?

2 个答案:

答案 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
}
相关问题