ASP.NET控件之RadioButtonList
“RadioButtonList”控件表示一个封装了一组单选按钮控件的列表控件。
可以使用两种类型的 ASP.NET 控件将单选按钮添加到网页上:各个“RadioButton”控件或一个“RadioButtonList”控件。这两类控件都允许用户从一小组互相排斥的预定义选项中进行选择。使用这些控件,可定义任意数目的带标签的单选按钮,并将它们水平或垂直排列。
命名空间:System.Web.UI.WebControls
程序集:System.Web(在 system.web.dll 中)
[ValidationPropertyAttribute("SelectedItem")]
public class RadioButtonList : ListControl, IRepeatInfoUser, INamingContainer, IPostBackDataHandler
RadioButtonList 控件为网页开发人员提供了一组单选按钮,这些按钮可以通过数据绑定动态生成。该控件包含一个 Items 集合,集合中的成员与列表中的各项相对应。若要确定选择了哪一项,请测试列表的 SelectedItem 属性。
可以用 RepeatLayout 和 RepeatDirection 属性指定如何呈现列表。如果将 RepeatLayout 设置为 RepeatLayout.Table(默认设置),列表将呈现在表中。如果设置为 RepeatLayout.Flow,列表将不以表格形式呈现。默认情况下,RepeatDirection 设置为 RepeatDirection.Vertical。将该属性设置为 RepeatDirection.Horizontal 时,列表将水平呈现。
RadioButtonList用法
<div class="rblStyle">
<asp:RadioButtonList ID="rblChangQHT" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Text="是" Value="1"></asp:ListItem>
<asp:ListItem Text="否" Value="0"></asp:ListItem>
</asp:RadioButtonList></div>
1.RadioButtonList 校验
var rb_ChangQHT = document.getElementById("rblChangQHT");
var ShiF = rb_ChangQHT.getElementsByTagName("INPUT");
var result = false;
for (var i = 0; i < ShiF.length; i++) {
if (ShiF[i].checked) {
result = true;
break;
}
}
if (!result) {
alert("是否为中长期合同为必填项!");
return false;
}
2.RadioButtonList样式调整
.rblStyle{width:100%;height:auto;}
.rblStyle input{border-style:none;}
3.onselectedindexchanged事件
像下拉控件dropdownlist控件一样,它也有onselectedindexchanged事件,当选项改变后进行触发
注意点是:控件中的AutoPostBack属性一定设为"True",这样服务器端才知道你的选项改变了,并触发相应事件
4.为ListItem添加提示
RadioButtonList1.Items[0].Attributes.Add("title", "提示内容");
5.绑定数据源
string sql = "select * from province";
DataTable dt = SQLHelper.ExecuteDataTable(sql);
this.RadioButtonList1.DataSource = dt;
this.RadioButtonList1.DataTextField = "Provinces";
this.RadioButtonList1.DataValueField = "PId";
this.RadioButtonList1.DataBind();
6.改变选中项的前景色
<asp:RadioButtonList ID="rblIsLock" runat="server" AutoPostBack="true" OnSelectedIndexChanged="rblIsLock_SelectedIndexChanged" RepeatDirection="Horizontal" RepeatLayout="Flow">
<asp:ListItem Selected="True" Value="0">启用 </asp:ListItem>
<asp:ListItem Value="1">禁用 </asp:ListItem>
</asp:RadioButtonList>
<label>*禁用的用户将无法登录</label>
后台:
protected void rblIsLock_SelectedIndexChanged(object sender, EventArgs e)
{
var rbl = sender as RadioButtonList;
HighliehgSelectedItem(rbl);
}
private void HighliehgSelectedItem(RadioButtonList rbl)
{
foreach (ListItem li in rbl.Items)
{
if (li.Selected)
{
li.Attributes.Add("style", "color: red;");
}
}
}
7.后台动态增加RadioButtonList
RadioButtonList rbl = new RadioButtonList();
rbl.ID = "rbl" + (i + 1).ToString();
rbl.BorderStyle = BorderStyle.None;
rbl.RepeatLayout = RepeatLayout.Flow;
rbl.RepeatDirection = RepeatDirection.Horizontal;
rbl.TextAlign = TextAlign.Right;
rbl.CellSpacing = 6;
rbl.Attributes.Add("onclick", "CheckRbl('ctl00_ctl00_ctl00_ContentPlaceHolder1_cphBody_cphLower_" + rbl.ID + "')");
rbl.DataSource = dtRating.DefaultView;
rbl.DataTextField = "LevelID";
rbl.DataValueField = "LevelID";
rbl.DataBind();
tc.Controls.Add(rbl); //tc是TableRow的一个单元格TableCell
for (int k = 0; k < rbl.Items.Count; k++)
{
rbl.Items[k].Attributes.Add("title", dtRating.Rows[k][1].ToString());
rbl.Items[k].Attributes.Add("style", "margin-left:10px;");
}
8.前台改变选中项的背景色
window.onload = function () {
var arr = document.getElementsByTagName("INPUT");
for (var i = 0; i < arr.length; i++) {
if (arr[i].checked) {
if (arr[i].type == "radio") {
arr[i].style.backgroundColor = "red";
}
else {
arr[i].style.backgroundColor = "";
}
}
else {
arr[i].style.backgroundColor = "";
}
}
}
ASP.NET控件之RadioButtonList的更多相关文章
- asp.net <asp:Content>控件
<asp:Content ID="Content2" ContentPlaceHolderID="CPH_MainContent" runat=" ...
- FineUI 基于 ExtJS 的专业 ASP.NET 控件库
FineUI 基于 ExtJS 的专业 ASP.NET 控件库 http://www.fineui.com/
- ASP.NET控件<ASP:Button /> html控件<input type="button">区别联系
ASP.NET控件<ASP:Button />-------html控件<input type="button">杨中科是这么说的:asp和input是一样 ...
- asp.net控件的Hyperlink控件
Asp.net控件: Hyperlink控件:Hyperlink控件又称为超链接控件,该控件在功能上跟Html的<a herf=””>控件相似,其显示的模式为超链接的形式. 注意: Hyp ...
- asp.net控件开发基础(1)(转)原文更多内容
asp.net本身提供了很多控件,提供给我们这些比较懒惰的人使用,我认为控件的作用就在此,因为我们不想重复工作,所以要创建它,这个本身便是一个需求的关系,所以学习控件开发很有意思. wrox网站上有本 ...
- 把某个asp.net 控件 替换成 自定义的控件
功能:可以把某个asp.net 控件 替换成 自定义的控件 pages 的 tagMapping 元素(ASP.NET 设置架构) 定义一个标记类型的集合,这些标记类型在编译时重新映射为其他标记类型. ...
- Asp.Netserver控件开发的Grid实现(三)列编辑器
以下是GridColumnsEditor的实现代码: GridColumnsEditor.cs using System; using System.Collections.Generic; usin ...
- 为ASP.NET控件加入快捷菜单
ContextMenu Control 快捷菜单控件概述: MSDN Liabrary 中包含了几个DHTML快捷菜单的示例.分别提供了对这一功能的不能实现方法.一个快捷菜单就是在页面中任何位置的一组 ...
- <asp:FileUpload>控件 获取不到文件名
<asp:FileUpload>控件 放在了<asp:UpdatePanel>控件中会导致获取不到文件名.
随机推荐
- MongoDB小结08 - update【$pull】
它可以删除所匹配的值,如果[1,1,2,1] 执行pull 1 后,只剩下[2]
- openstack setup demo Identity service
openstack Identity service 名叫keystone.它提供了用户校验,以及服务目录查询(即列出所有的服务以及相关信息)等功能. keystone 主要包含以下几个部分 Serv ...
- 用R进行微博分析的初步尝试
新浪微博如火如荼,基于微博的各种应用也层出不穷. 有一种共识似乎是:微博数据蕴含着丰富的信息,加以适当的挖掘.可以实现众多商业应用.恰好社会网络分析也是我之前有所了解并持续学习的一个领域,因此我做了微 ...
- Python输入输出及其他
print用法 print会输出一个\n,也就是换行符,这样光标移动到了下一行行首,接着输出,之前已经通过stdout输出的东西依旧保留,而且保证我们在下面看到最新的输出结果.回车 \r 本义是光标重 ...
- MongoDb 学习教程
MongoDB教程首页 MongoDB 介绍 MongoDB 优点 MongoDB 安装(Window/Linux) MongoDB 数据模型 MongoDB 创建数据库 MongoDB 删除数据库 ...
- 使用bbed改动数据
bbed是一个强大的工具,同意我们绕过oracle直接从数据文件里改动相应的内容 ZBDBA@orcl11g>select * from emp; EMPNO ENAME JOB MGR HIR ...
- Cocos2dx--开发环境搭建
配置文档下载:http://pan.baidu.com/s/1rja8I 有些文件比較大的自己去下,这里列一下全部用到的文件 adt-bundle-windows-x86-20140321.zip a ...
- [办公自动化]名师推荐-excelpro刘万祥 图表之道作者
最早认识刘万祥老师是通过孙小小老师的博客.后来发现制作图表,还真需要和PPT类似,花些时间琢磨一下. 首先你要了解图表的类型,然后需要了解制作方法,最后就是如何美化以及结合PPT等工具帮你分析数据. ...
- wxpc
- robot framework运行测试 命令行启动
...\rf_test> pybot --test test_case test_suit.robot #运行一条用例 ...\rf_test> pybot test_suit.robot ...