代码之家  ›  专栏  ›  技术社区  ›  somacore

ASP.NET C#-如何在UserControl中为复选框列表设置公共属性?

  •  2
  • somacore  · 技术社区  · 15 年前

    我很难弄明白这一点。如果我在usercontrol中有一个复选框列表,我如何循环(或者真正地检查)列表中的复选框?

    正如我在下面的评论中所说,我希望通过控件本身的属性公开选中的项。

    2 回复  |  直到 15 年前
        1
  •  3
  •   Bob    15 年前

    从你的页面你可以做什么

    var checkboxes = (CheckBoxList)userControl1.FindControl("checkBoxList1");
    

    在用户控制中

    public string[] CheckedItems {
        get {
            List<string> checkedItems = new List<string>();
            foreach (ListItem item in checkbox1.Items)
                checkedItems.Add(item.Value);
    
            return checkedItems.ToArray();
        }
    }
    

    然后在页面中

    var checkedItems = userControl1.CheckedItems; 
    

    checkbox1.Items 在属性中,但这不是很好的封装。

        2
  •  1
  •   Dan Appleyard    15 年前

      public IList<string> SelectedItems{
           get {
              return checkbox1.Items.Cast<ListItem>.Where(i => i.Selected).Select(j => j.Value).ToList();
           }
    
        }