服务器之家

服务器之家 > 正文

限制CheckBoxList控件只能单选实现代码及演示动画

时间:2019-10-17 10:51     来源/作者:asp.net技术网

开发要求,原本对CheckBoxList控件是用来让用户多选的。但现在特殊要求,这个CheckBoxList控件限制只能单选。 

哈哈,看看做出来的效果: 
限制CheckBoxList控件只能单选实现代码及演示动画
为了你也能实现出来,可以参考下面的方法,第一是准备好一个对象“地支”(Terrestrial Branch) 
TerrestrialBranch.cs 

复制代码代码如下:


using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
/// <summary> 
/// Summary description for TerrestrialBranch 
/// </summary> 
namespace Insus.NET 

public class TerrestrialBranch 

private int _ID; 
private string _Name; 
public int ID 

get{return _ID;} 
set { _ID = value; } 

public string Name 

get { return _Name; } 
set { _Name = value; } 

public TerrestrialBranch() 

// 
// TODO: Add constructor logic here 
// 

public TerrestrialBranch(int id, string name) 

this.ID = id; 
this._Name = name; 



用数据填充这个对象,并用泛型List<t>来存储这十二个对象: 

复制代码代码如下:


private List<TerrestrialBranch> GetData() 

List<TerrestrialBranch> tbs = new List<TerrestrialBranch>(); 
tbs.Add(new TerrestrialBranch(1,"子")); 
tbs.Add(new TerrestrialBranch(2, "丑")); 
tbs.Add(new TerrestrialBranch(3, "寅")); 
tbs.Add(new TerrestrialBranch(4, "卯")); 
tbs.Add(new TerrestrialBranch(5, "辰")); 
tbs.Add(new TerrestrialBranch(6, "巳")); 
tbs.Add(new TerrestrialBranch(7, "午")); 
tbs.Add(new TerrestrialBranch(8, "未")); 
tbs.Add(new TerrestrialBranch(9, "申")); 
tbs.Add(new TerrestrialBranch(10, "酉")); 
tbs.Add(new TerrestrialBranch(11, "戌")); 
tbs.Add(new TerrestrialBranch(12, "亥")); 
return tbs; 


在.aspx页面拉一个CheckBoxList控件,设置两个属性RepeatColumns="6" RepeatDirection="Horizontal" 

复制代码代码如下:


<asp:CheckBoxList ID="CheckBoxListTerrestrialBranch" runat="server" RepeatColumns="6" RepeatDirection="Horizontal"></asp:CheckBoxList> 


把刚才准备好的List<TerrestrialBranch>绑定给这个CheckBoxList控件: 

复制代码代码如下:


using System; 
using System.Collections.Generic; 
using System.Data; 
using System.Data.OleDb; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using Insus.NET; 
public partial class _Default : System.Web.UI.Page 

protected void Page_Load(object sender, EventArgs e) 

if (!IsPostBack) 
Data_Binding(); 

private void Data_Binding() 

this.CheckBoxListTerrestrialBranch.DataSource = GetData(); 
this.CheckBoxListTerrestrialBranch.DataTextField = "Name"; 
this.CheckBoxListTerrestrialBranch.DataValueField = "ID"; 
this.CheckBoxListTerrestrialBranch.DataBind(); 


OK,一切准备就绪,可以写Javascript脚本,放在<head>之内。 

复制代码代码如下:


window.onload = function () { 
var cbl = document.getElementById('<%= CheckBoxListTerrestrialBranch.ClientID %>') 
var inputs = cbl.getElementsByTagName("input"); 
for (var i = 0; i < inputs.length; i++) { 
if (inputs[i].type == "checkbox") { 
inputs[i].onclick = function () { 
var cbs = inputs; 
for (var i = 0; i < cbs.length; i++) { 
if (cbs[i].type == "checkbox" && cbs[i] != this && this.checked) { 
cbs[i].checked = false; 





标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
返回顶部