c# - ASP.NET C# - 如何为 UserControl 内的 CheckBoxList 设置公共(public)属性?

标签 c# asp.net user-controls properties checkboxlist

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

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

最佳答案

从您的页面您可以执行以下操作

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/

相关文章:

c# - 使用 Newtonsoft.Json 从网络流中反序列化数据挂起

c# - .NET 如何准确比较字符串?

c# - 以编程方式重新创建现有的sql server数据库?

c# - ASP.NET : Extended range validation

asp.net - asp.net 页面中的 css 粘性页脚

c# - 编辑记录时 RadGrid 中的 "Cannot unregister UpdatePanel with ID ' xxx ' since it was not registered with the ScriptManager... "

c# - 通过网络在 C/C++ 服务器、C/C++ 和 C# 客户端之间发送数据结构

asp.net - 对象未被垃圾回收,但不包含 gcroot

c# - 获取用户控制 HTML

c# - 自定义控件和工具箱选项卡