C# 所选列表项不工作
我有以下代码:C# 所选列表项不工作,c#,asp.net,.net,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,即使我从项目列表中选择了一个项目
foreach (ListItem item in lstCreate.Items)
{
if (item.Selected)
strCreateNewVideoCategory += item.Value + ":0,";
else
strCreateNewVideoCategory += item.Value + ":1,";
}
我正在使用此过程,item.Selected每次都为false,即使我从项目列表中选择了一个项目。我做错了什么
注意:ListItem使用用户控件(ascx)
if (!IsPostback)
{
BindYourControl();
}
因为每次发布时都会加载并绑定控件,所以会删除选定的值EnableViewState = true;
if (!IsPostback)
{
BindYourControl();
}
因为每次发布时都会加载并绑定控件,所以会删除选定的值EnableViewState = true;
代码在我看来很好。你应该试着设置一个断点,看看哪里出了问题。我觉得代码不错。您应该尝试设置一个断点,以真正了解您的错误所在。检查您的自动回发事件以了解页面加载和所选项目的使用情况
listitem_selectedindexchanged()
{
}
它将为您提供所选项目的值检查页面加载和所选项目使用的自动回发事件
listitem_selectedindexchanged()
{
}
它将为您提供所选项目的值
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");
str=String.Join(
",",
lstCreate.Items.Cast.Select(item=>item.Value+item.Selected?”:0“::1”);
不管怎样
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");
str=String.Join(
",",
lstCreate.Items.Cast.Select(item=>item.Value+item.Selected?”:0“::1”);
在循环中串联字符串是一种不好的做法。如果列表相对较短,这可能不是一个严重的问题,但无论如何,我认为最好养成使用StringBuilder
的习惯。在循环中串联字符串是一种不好的做法。如果列表相对较短,则可能不是序列号这是一个很好的问题,但不管怎样,我认为您最好养成使用StringBuilder
的习惯。很抱歉,每次加载页面时我都初始化了控件。现在我用步骤1进行了更正:它现在可以正常工作了。谢谢,我很高兴帮助您karthikI不明白这一点,在何时何地使用BindYourControl()这是一个内置函数吗?很抱歉,每次加载页面时我都初始化了控件。现在我用步骤1进行了更正。现在工作正常了。谢谢。我很高兴帮助您karthikI不明白这一点,在何时何地使用BindYourControl();
?这是一个内置函数吗?