gpt4 book ai didi

c# - 如何获取触发回发的 CheckBoxList 中的 ListItem?

转载 作者:行者123 更新时间:2023-11-30 22:36:23 24 4
gpt4 key购买 nike

我有两个 CheckBoxList,我需要能够根据在另一个 CheckBoxList 中选择的项目来设置在其中一个 CheckBoxList 中选择的 ListItems。

我如何知道 CheckBoxList 中的哪个 ListItem 发出了回发?该方法必须在服务器上运行。

解决方案更新:

我使用的最终解决方案(感谢四):

protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e)
{
var selectedItem = CheckBoxList1.SelectedItem;
}

其中 selectedItem 是被点击的 ListItem。

最佳答案

将 AutoPostBack 属性设置为 True,然后在服务器上进行您需要进行的更改:How to use AutoPostBack feature in CheckBoxList

<asp:CheckBoxList   
ID="CheckBoxList1"
runat="server"
AutoPostBack="true"
OnSelectedIndexChanged="CheckBoxList1_SelectedIndexChnaged"
>

要查看哪些 ListItem 已被选中,您可以按如下方式遍历 CheckBoxList:

protected void CheckBoxList1_SelectedIndexChnaged(object sender, System.EventArgs e)  
{
Label1.Text = "You Selected:<br /><i>";
foreach (ListItem li in CheckBoxList1.Items)
{
if (li.Selected == true)
{
Label1.Text += li.Text + "<br />";
}
}
Label1.Text += "</i>";
}

要在不遍历所有 ListItem 的情况下获取已检查的 ListItem 的值,您可以执行以下操作:

protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e)
{
CheckBoxList list = (CheckBoxList)sender;
string[] control = Request.Form.Get("__EVENTTARGET").Split('$');
int index = control.Length - 1;
ListItem li = (ListItem)list.Items[Int32.Parse(control[index])];
}

此时您将拥有已检查的实际 ListItem,您可以随心所欲地使用它。

关于c# - 如何获取触发回发的 CheckBoxList 中的 ListItem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7040130/

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