ASP.NET动态绑定CheckBoxList并获取选中值

3星 · 超过75%的资源 需积分: 0 87 下载量 137 浏览量 更新于2024-10-22 1 收藏 2KB TXT 举报
"这篇资源主要涉及的是在ASP.NET开发中如何遍历CheckBoxList控件,获取选中项的值,并动态绑定数据。作者通过实例展示了具体的实现步骤,包括数据库连接、查询、数据绑定以及事件处理。" 在ASP.NET中,CheckBoxList是一个常用的控件,用于显示一系列可复选的选项。以下将详细介绍如何遍历CheckBoxList,获取选中项的值,以及动态绑定数据的过程: 1. 遍历CheckBoxList获取选中项的值: 当用户在CheckBoxList中选择某些项后,我们可能需要获取这些被选中的项的值。这通常在按钮点击事件(如Button1_Click)中进行。代码示例如下: ```csharp protected void Button1_Click(object sender, EventArgs e) { foreach (ListItem li in this.chklistA.Items) { if (li.Selected == true) { // 如果列表项被选中,输出其文本 Response.Write(li.Text + "<br>"); } } } ``` 这里,我们遍历CheckBoxList的Items集合,检查每个列表项的Selected属性。如果为真,表示该列表项已被选中,我们就将其Text属性(即显示的文本)写入响应。 2. 动态绑定CheckBoxList: 在页面加载事件(如Page_Load)中,我们需要从数据库获取数据并绑定到CheckBoxList。以下是一个使用SQL Server数据库的例子: ```csharp protected void Page_Load(object sender, EventArgs e) { if (!this.IsPostBack) { // 创建数据库连接 SqlConnection con = new SqlConnection("server=.;database=Northwind;uid=sa;pwd=;"); con.Open(); // 创建SQL命令,查询前10条Employees记录 SqlCommand cmd = new SqlCommand("select top 10 * from Employees", con); // 执行查询并获取数据读取器 SqlDataReader sdr = cmd.ExecuteReader(); try { // 将数据绑定到CheckBoxList this.chklistA.DataSource = sdr; this.chklistA.DataTextField = "LastName"; // 显示字段 this.chklistA.DataValueField = "EmployeeID"; // 值字段 this.chklistA.DataBind(); } catch (Exception ex) { throw ex; } finally { // 关闭数据读取器和数据库连接 sdr.Close(); con.Close(); con.Dispose(); } } } ``` 在这个例子中,我们首先判断是否是首次加载页面(IsPostBack属性),以防止在回发时重新执行数据绑定。然后,我们建立数据库连接,执行SQL查询,将结果集绑定到CheckBoxList的DataSource属性,并指定DataTextField和DataValueField,分别对应列表项显示的文本和对应的值。 总结,遍历CheckBoxList并获取选中项的值,以及动态绑定数据,是ASP.NET Web表单开发中常见的操作。这段代码提供了实现这两个功能的示例,对于初学者来说是非常有价值的参考。通过这种方式,可以方便地处理用户的选择,展示和处理数据库中的数据。