gpt4 book ai didi

c# - 动态添加数据后 CheckBoxList ListItem Count 始终为 0

转载 作者:太空狗 更新时间:2023-10-29 17:41:26 26 4
gpt4 key购买 nike

我在 aspx 代码中有以下代码。我想将 ListItem 复选框添加到 ColumnsList 并在单击按钮时查找所有选中的复选框。

但是当我尝试获取按钮上的选定项目时,单击 ColumnsList 计数变为 0。

<asp:checkboxlist runat="server" EnableViewState="true" id="ColumnsList"/>

在后面的代码中,我将数据添加到我的 ColumnsList 中,如下所示

public override void OnLoad()
{
if(!this.IsPostBack)
{
this.ColumnsList.Items.Add(new ListItem { Text= "Text1", Value = "value1" });
this.ColumnsList.Items.Add(new ListItem { Text= "Text2", Value = "value2" });
}
}

//这里是按钮点击监听器

private void Button_Click(object sender, EventArgs eventArgs)
{
// Count is 0 instead of 2
var count = this.ColumnsList.Items.Count;
foreach(ListItem item in this.ColumnsList.Items)
{
var selected = item.Selected;
// add selected to a list..etc

}
}

注意:应用程序部署在共享点 2010。

最佳答案

我试着模拟你正在尝试的,这里是一步一步的解决方案。

Step 1: Instead of creating override OnLoad() method, you can use Page_Load() method to add items to your ComboBoxList control, like below. Don't forget to put a comma between Text and Value property while creating a new ListItem.

protected void Page_Load(object sender, EventArgs e)
{
if(!this.IsPostBack)
{
this.ColumnsList.Items.Add(new ListItem { Text= "Text1", Value = "value1" });
this.ColumnsList.Items.Add(new ListItem { Text = "Text2", Value = "value2" });
this.ColumnsList.Items.Add(new ListItem { Text = "Text3", Value = "value3" });
this.ColumnsList.Items.Add(new ListItem { Text = "Text4", Value = "value4" });
}
}

Step 2: After this, I created a button click event like yours, but wrote only single line there to get the count of selected items as shown below.

protected void Button1_Click(object sender, EventArgs e)
{
var count = this.ColumnsList.Items.Cast<ListItem>().Count(li => li.Selected);
}

注意:检查您的按钮点击事件。 this.ColumnsList.Items.Count 将返回 ComboBoxList 中项目的计数,循环中的 item.Selected 将告诉您该项目是否被选中.但是 var selected 将为您提供最后一项的状态,因为您正在覆盖每一项的值。

关于c# - 动态添加数据后 CheckBoxList ListItem Count 始终为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32772182/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com