如何确定复选框列表已选中/选中 -

发布于 2024-11-09 10:33:20 字数 465 浏览 0 评论 0原文

当我执行代码时,我得到 4 个复选框,并且我选中/选择了所有 4 个复选框,当我尝试调试代码时,它确实算作我有 4 个复选框,但所有 4 个复选框都被选中= false。

我在代码中缺少什么?

<asp:checkboxlist id="chk" runat="server" ondatabinding="chk_DataBinding"
   ondatabound="chk_DataBound">
</asp:checkboxlist>

List<String> roles = new List<string>();

 for (int i = 0; i < chk.Items.Count; i++)
 {
     if (chk.Items[i].Selected)
    {
        roles.Add(chk.Items[i].Value);
    }
 }

when i execute the code i get 4 checkboxs and i checked/selected all 4 checkbox and when i try to debug the code, it does count that i have 4 checkbox but all 4 checkbox is selected=false.

what i am missing in code?

<asp:checkboxlist id="chk" runat="server" ondatabinding="chk_DataBinding"
   ondatabound="chk_DataBound">
</asp:checkboxlist>

List<String> roles = new List<string>();

 for (int i = 0; i < chk.Items.Count; i++)
 {
     if (chk.Items[i].Selected)
    {
        roles.Add(chk.Items[i].Value);
    }
 }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

时光清浅 2024-11-16 10:33:20

您的逻辑与 ListControl.Items 页面,并根据个人经验,检查 ListItem.Selected 属性代码> 应该可以正常工作。

在点击“如果选中”逻辑之前,请检查以确保您没有重新填充 CheckBoxList - 如果我不得不猜测,我会说您很有可能会丢失该列表在每次回发时。简单的解决方案是,如果是回发,则不要调用数据绑定逻辑。

Your logic is consistent with the basic CheckBoxList given on the ListControl.Items page, and from personal experience, checking the .Selected property of the ListItem should work fine.

Check to make sure you aren't re-populating the CheckBoxList before you hit the "if checked" logic - if I had to guess, I'd say there's a good chance you're losing the list on every postback. The simple solution is don't call your databinding logic if it's a postback.

如痴如狂 2024-11-16 10:33:20
public string[] CheckboxListSelections(System.Web.UI.WebControls.CheckBoxList list)
{
 ArrayList values = new ArrayList();
 for(int counter = 0; counter < list.Items.Count; counter++)
 {
  if(list.Items[counter].Selected)
  {
   values.Add(list.Items[counter].Value);
  }    
 }
 return (String[]) values.ToArray( typeof( string ) );
}
public string[] CheckboxListSelections(System.Web.UI.WebControls.CheckBoxList list)
{
 ArrayList values = new ArrayList();
 for(int counter = 0; counter < list.Items.Count; counter++)
 {
  if(list.Items[counter].Selected)
  {
   values.Add(list.Items[counter].Value);
  }    
 }
 return (String[]) values.ToArray( typeof( string ) );
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文