CheckBox和CheckBoxList控件的使用

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="page2.aspx.cs" Inherits="page2" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
           
            
            <asp:CheckBoxList ID="CheckBoxList1" runat="server">
                <asp:ListItem>唱歌</asp:ListItem>
                <asp:ListItem>跳舞</asp:ListItem>
                <asp:ListItem>读书</asp:ListItem>
                <asp:ListItem>运动</asp:ListItem>
            </asp:CheckBoxList>

            <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /><br/>
            <asp:CheckBox ID="CheckBox1" runat="server" OnCheckedChanged="CheckBox1_CheckedChanged"/>改变风格<br/>
            <asp:CheckBox ID="CheckBox2" runat="server" OnCheckedChanged="CheckBox2_CheckedChanged" />改变颜色<br/>
             
            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
        </div>
    </form>
</body>
</html>
// 引入必要的命名空间  
using System;  
using System.Collections.Generic;  
using System.Drawing; // 引入绘图命名空间,用于设置颜色  
using System.Linq;  
using System.Web;  
using System.Web.UI;  
using System.Web.UI.WebControls; // 引入Web控件命名空间  
  
// 声明一个继承自System.Web.UI.Page的页面类  
public partial class page2 : System.Web.UI.Page  
{  
    // 页面加载时的事件处理函数  
    protected void Page_Load(object sender, EventArgs e)  
    {  
        // 在这里,Page_Load是空的,没有执行任何操作  
    }  
  
    // CheckBox1的CheckedChanged事件处理函数  
    // 当CheckBox1的选中状态改变时触发  
    protected void CheckBox1_CheckedChanged(object sender, EventArgs e)  
    {  
        // 如果CheckBox1被选中,设置CheckBoxList1的背景色为浅米色,否则为天蓝色  
        this.CheckBoxList1.BackColor = CheckBox1.Checked ? Color.Beige : Color.Azure;  
        // 如果CheckBox1被选中,设置CheckBoxList1的重复方向为水平,否则为垂直  
        CheckBoxList1.RepeatDirection =  
            CheckBox1.Checked ? RepeatDirection.Horizontal : RepeatDirection.Vertical;  
    }  
  
    // CheckBox2的CheckedChanged事件处理函数  
    // 当CheckBox2的选中状态改变时触发  
    protected void CheckBox2_CheckedChanged(object sender, EventArgs e)  
    {  
        // 如果CheckBox2被选中  
        if (CheckBox2.Checked)  
        {  
            // 设置CheckBoxList1的前景色和Label1的前景色为红色  
            this.CheckBoxList1.ForeColor = Color.Red;  
            Label1.ForeColor = Color.Red;  
        }  
        else  
        {  
            // 否则,设置它们的前景色为黑色  
            this.CheckBoxList1.ForeColor = Color.Black;  
            Label1.ForeColor = Color.Black;  
        }  
    }  
  
    // Button1的Click事件处理函数  
    // 当Button1被点击时触发  
    protected void Button1_Click(object sender, EventArgs e)  
    {  
        // 初始化一个字符串,用于存储选中的复选框的文本  
        String str = "选择结果:";  
        // 清空Label1的文本  
        Label1.Text = "";  
          
        // 遍历CheckBoxList1中的所有项  
        for (int i = 0; i < CheckBoxList1.Items.Count; i++)  
        {  
            // 如果该项被选中,则将其文本添加到str中  
            if (CheckBoxList1.Items[i].Selected)  
            {  
                str += CheckBoxList1.Items[i].Text + "、";  
            }  
        }  
  
        // 如果str的结尾是"、",则去除它  
        if (str.EndsWith("、") == true)  
            str = str.Substring(0, str.Length - 1);  
  
        // 将str的值赋给Label1的Text属性  
        Label1.Text = str;  
  
        // 如果str的值仍然是"选择结果:",说明没有选择任何项  
        if (str == "选择结果:")  
        {  
            // 使用客户端脚本弹出一个警告框  
            string scriptString = "alert('请做出选择!')";  
            Page.ClientScript.RegisterClientScriptBlock(this.GetType(),"warning",scriptString,true);  
        }  
        else  
        {  
            // 否则,显示Label1并设置其文本  
            Label1.Visible = true;  
            Label1.Text = str;  
        }  
    }  
}

// 使用客户端脚本弹出一个警告框 string scriptString = "alert('请做出选择!')"; Page.ClientScript.RegisterClientScriptBlock(this.GetType(),"warning",scriptString,true); 这个是怎么做到的?

在ASP.NET Web Forms中,Page.ClientScript.RegisterClientScriptBlock 方法用于在客户端(即用户的浏览器)上注册一段JavaScript代码,这样当页面呈现到浏览器时,这段JavaScript代码会被执行。

具体来说,Page.ClientScript.RegisterClientScriptBlock 方法的参数解释如下:

  1. type:通常传递当前页面的类型(例如 this.GetType()),用于确保注册的脚本块是唯一的,不会在同一个页面上被重复注册。

  2. key:一个字符串,用于唯一标识这个脚本块。如果后续尝试注册具有相同 type 和 key 的脚本块,那么旧的脚本块将不会被替换,除非指定了第三个参数为 true

  3. script:要注册的JavaScript代码。

  4. addScriptTags(可选,默认为 false):一个布尔值,指定是否在脚本块周围添加 <script> 标签。如果设置为 true,则会在 script 参数的内容前后添加 <script type="text/javascript"> 和 </script> 标签。如果设置为 false,则只注册纯文本内容,并期望在稍后的某个时刻(例如,在其他脚本或模板中)将其包装在 <script> 标签中。

在您提供的代码中:

string scriptString = "alert('请做出选择!')"; Page.ClientScript.RegisterClientScriptBlock(this.GetType(),"warning",scriptString,true);
  • this.GetType() 是当前页面的类型,确保这个脚本块是唯一的。
  • "warning" 是这个脚本块的唯一键。
  • "alert('请做出选择!')" 是要执行的JavaScript代码,它会在浏览器中弹出一个警告框。
  • true 表示在脚本块周围添加 <script> 标签。

因此,当这行代码执行时,它会在客户端的HTML中插入一个 <script> 标签,其中包含 alert('请做出选择!') 这段JavaScript代码。当这个 <script> 标签被浏览器解析和执行时,就会弹出一个包含“请做出选择!”文本的警告框。

 

  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值