我很难弄清楚这一点。如果我在用户控件中有一个复选框列表,如何循环浏览(或检查)列表中的哪些复选框?

正如我在下面的评论中所说,我想通过控件本身的属性来显示选中的项目。

最佳答案

您可以在页面上执行

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,但这不是很好的封装。

关于c# - ASP.NET C#-如何在UserControl中为CheckBoxList设置公共(public)属性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1639607/

10-09 05:51