继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

RadioButton置于DataList实现单选

远看寒山石径斜
关注TA
已关注
手记 268
粉丝 25
获赞 149

本例实现通过RadioButton对DataList控件进行单选。你可以参考下面演示。


准备好一个星座对象,并定义好一个泛型List来存储每一个星座名称。

Constelltion.cs

using System;using System.Collections.Generic;using System.Linq;using System.Web;/// <summary>/// Summary description for Constellation/// </summary>namespace Insus.NET{    public class Constellation    {        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 Constellation()        {            //            // TODO: Add constructor logic here            //        }        public Constellation(int id, string name)        {            this._ID = id;            this._Name = name;        }        public List<Constellation> GetConstellation()        {            List<Constellation> constellation = new List<Constellation>();            Constellation c = new Constellation(1, " 白羊座");            constellation.Add(c);            c = new Constellation(2, "金牛座");            constellation.Add(c);            c = new Constellation(3, "双子座");            constellation.Add(c);            c = new Constellation(4, "巨蟹座");            constellation.Add(c);            c = new Constellation(5, "狮子座");            constellation.Add(c);            c = new Constellation(6, "处女座");            constellation.Add(c);            c = new Constellation(7, "天秤座 ");            constellation.Add(c);            c = new Constellation(8, "天蝎座");            constellation.Add(c);            c = new Constellation(9, "射手座");            constellation.Add(c);            c = new Constellation(10, "摩羯座");            constellation.Add(c);            c = new Constellation(11, "水瓶座");            constellation.Add(c);            c = new Constellation(12, "双鱼座");            constellation.Add(c);            return constellation;        }    }}


在.aspx拉一个DataList控件,把RadioButton置于DataList的ItemTemplate模版内。

View Code

 <asp:DataList ID="DataListConstellation" runat="server" Width="100" CellPadding="0" CellSpacing="0">                <ItemStyle BorderWidth="1" />                <ItemTemplate>                    <table>                        <tr>                            <td>                                <asp:RadioButton ID="RadioButtonSelect" runat="server" onclick="SelectedRadio(this);" /></td>                            <td><%# Eval("ID") %></td>                            <td><%# Eval("Name") %></td>                        </tr>                    </table>                </ItemTemplate>            </asp:DataList>


在.aspx.cs内为DataList控件绑定数据:

View Code

using System;using System.Collections.Generic;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{    Constellation objConstellation = new Constellation();        protected void Page_Load(object sender, EventArgs e)    {        if (!IsPostBack)            Data_Binding();    }    private void Data_Binding()    {        this.DataListConstellation.DataSource = objConstellation.GetConstellation();        this.DataListConstellation.DataBind();    }}


最后,我们写一段Javascript来实现onclick 事件。

View Code

 <script type="text/javascript">        function SelectedRadio(rb) {            var gv = document.getElementById("<%=DataListConstellation.ClientID%>");            var rbs = gv.getElementsByTagName("input");            var row = rb.parentNode.parentNode;            for (var i = 0; i < rbs.length; i++) {                if (rbs[i].type == "radio") {                    if (rbs[i].checked && rbs[i] != rb) {                        rbs[i].checked = false;                        break;                    }                }            }        }    </script>


 

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP