列表项选择不起作用

时间:2012-07-30 12:01:19

标签: c# asp.net .net

我有以下代码:

foreach (ListItem item in lstCreate.Items)
{
    if (item.Selected)
        strCreateNewVideoCategory += item.Value + ":0,";
    else
        strCreateNewVideoCategory += item.Value + ":1,";
}

使用这个程序,每次都是item.Selected为false,即使是从项目列表中选择一个项目。我做错了什么?

注意:ListItem使用用户控件(ascx)。

4 个答案:

答案 0 :(得分:5)

  1. 您必须尝试使用​​此代码进行绑定

    if (!IsPostback)
    { 
        BindYourControl();
    }
    

    因为每次发布时都会加载并绑定控件,所以删除所选值

  2. 使用ViewState来保持。

    EnableViewState = true;
    

答案 1 :(得分:0)

代码看起来很好。你应该尝试设置一个断点来真正看出你出错的地方。

答案 2 :(得分:0)

检查您的autopostback事件是否有页面加载和所选项目使用

 listitem_selectedindexchanged()
{
}

它会为您提供所选项目的值

答案 3 :(得分:0)

反正

foreach (ListItem item in lstCreate.Items)
{
    str += item.Value + item.Selected ? ":0," : ":1,";
}

或更好

str = String.Join(
    ",",
    lstCreate.Items.Cast<ListItem>.Select(item => item.Value + item.Selected ? ":0" : ":1");