详解ASP.net的CheckBox和CheckBoxList控件

纯手写,难免出错,大家共同学习,其中有错误还望大家点出来及时修改以免误人子弟。


CheckBox和CheckBoxList控件其实就像一对孪生兄弟般,他们同是复选框控件。只是后者弥补了前者使用效率低的缺陷罢了。


先说下CheckBox控件

重要的属性:

Checked           获取或设置复选框是否处于选中状态,选中则为True

Text              获取或设置Checkbox控件的文本内容

AutoPostBack      表明是否自动上传窗体数据到服务器

事件:

OnCheckedChanged  当Checked属性的值变化时触发


代码:

html:

<asp:CheckBox ID="CB1" runat="server" Text="汤姆克鲁斯" OnCheckedChanged="CheckBox_Click" AutoPostBack="true"></asp:CheckBox>
<asp:CheckBox ID="CB2" runat="server" Text="约翰尼德普" OnCheckedChanged="CheckBox_Click" AutoPostBack="true"></asp:CheckBox>
<asp:CheckBox ID="CB3" runat="server" Text="威尔斯密斯" OnCheckedChanged="CheckBox_Click" AutoPostBack="true"></asp:CheckBox>
<asp:CheckBox ID="CB4" runat="server" Text="布拉德皮特" OnCheckedChanged="CheckBox_Click" AutoPostBack="true"></asp:CheckBox>
<asp:Literal ID="Literal1" runat="server"></asp:Literal>

这里看出他们的oncheckedchanged事件是一样的,因为这里要同时对着四个独立的复选框控件进行"监控"。


C#:

protected void CheckBox_Click(object sender,EventArgs e)
{
string myFavoriteStar = "";
if(CB1.Checked)myFavoriteStar+="汤姆克鲁斯";
if(CB2.Checked)myFavoriteStar+="约翰尼德普";
if(CB3.Checked)myFavoriteStar+="威尔史密斯";
if(CB4.Checked)myFavoriteStar+="布拉德皮特";
Literal.Text = "你最喜欢的明星是:"+myFavoriteStar;
}

再说下CheckBoxList控件,它其实是CheckBox的控件组。在这里注意一定要用ListItem产生控件内的选项,而不是再用text了。

重要属性:

AutoPostBack         和上面一样,不作赘述

RepeatColumns        获取或设置显示项的列数,默认为0

RepeatDirection      

列表的排列方式。默认垂直排列(veritcal),还可以是水平排列(horizontal)

RepeatLayout         获取或设置控件的配置方式。默认是table


DataSource

DataTextField        这3者都跟数据绑定有关,这里不作介绍

DataValueField


Items              

表示各个项的集合

SelectedItem         

获取目前的选择项(ListItem对象),如果多个选择,则返回多个选择中最小下标项

SelectedIndex        

获取目前选择项的下标。如果多个选择,返回选择项的最小下标


事件:

OnSelectedIndexChanged 

当选择的项发生改变时会触发,此事件要与AutoPostBack属性配合使用


代码:

html:

<asp:CheckBoxList ID="CBL1" runat="server"  AutoPostBack="true" OnSelectedIndexChanged = "CheckBox_Click">
<asp:ListItem>汤姆克鲁斯</asp:ListItem>
<asp:ListItem>汤姆汉克斯</asp:ListItem>
<asp:ListItem>克里斯蒂安贝尔</asp:ListItem>
<asp:ListItem>莱奥纳多迪卡普里奥</asp:ListItem>
</asp:CheckBoxList>
<asp:Literal ID="Literal1" runat="server"></asp:Literal>

C#:

protected void CheckBox_Click(object sender,EventArgs e)
{
string myFavoriteStar = "";
for(int i=0;i<=CBL1.Items.Count;i++)
{
if(CBL1.Item[i].Selected)
myFavoriteStar += CBL1.Item[i].Value+" ";
}
Literal1.Text = "你最喜欢的演员是:"+ myFavoriteStar;
}

注意到蓝色的部分,这里与checkbox的checked属性进行比较,两者表示选中的属性是不同的。

微信扫码订阅
UP更新不错过~
关注
  • 7
    点赞
  • 5
    收藏
  • 打赏
    打赏
  • 3
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论 3

打赏作者

BigLazyET

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值