学习顺序:1、如何绑定数据 2、如何设置绑定项 3、如何取出数据
1、RadioButton - 单选按钮 RadioButtonList - 单选按钮组
控件中的ID生成了相同名字的 ID、Name、Value
编译前
<asp:RadioButton ID="RadioButton1" runat="server" Text="男" />
<asp:RadioButton ID="RadioButton2" runat="server" Text="女" />
页面展示 单选按钮之间不互斥,自动生成name,默认name不同(李献策lxc)
编译后
<input id="RadioButton1" type="radio" name="RadioButton1" value="RadioButton1" /><label for="RadioButton1">男</label> <input id="RadioButton2" type="radio" name="RadioButton2" value="RadioButton2" /><label for="RadioButton2">女</label>
属性:
GroupName - 分组
<asp:RadioButton ID="RadioButton1" runat="server" Text="男" GroupName="sex" /> <asp:RadioButton ID="RadioButton2" runat="server" Text="女" GroupName="sex" />
RadioButtonList - 单选按钮组(李献策lxc)
一、绑定数据
新建一个类
1、自带构造函数 2、没有命名空间
public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { List<States> slist = new List<States>(); States s1 = new States() { Code = "001", Name = "张店" }; States s2 = new States() { Code = "002", Name = "淄川" }; States s3 = new States() { Code = "003", Name = "博山" }; States s4 = new States() { Code = "004", Name = "桓台" }; States s5 = new States() { Code = "005", Name = "临淄" }; States s6 = new States() { Code = "006", Name = "周村" }; slist.Add(s1); slist.Add(s2); slist.Add(s3); slist.Add(s4); slist.Add(s5); slist.Add(s6); RadioButtonList1.DataSource = slist; RadioButtonList1.DataTextField = "Name"; RadioButtonList1.DataValueField = "Code"; RadioButtonList1.DataBind(); } }
网页展示
后台代码
<div> <table id="RadioButtonList1"> <tr> <td><input id="RadioButtonList1_0" type="radio" name="RadioButtonList1" value="001" /><label for="RadioButtonList1_0">张店</label></td> </tr><tr> <td><input id="RadioButtonList1_1" type="radio" name="RadioButtonList1" value="002" /><label for="RadioButtonList1_1">淄川</label></td> </tr><tr> <td><input id="RadioButtonList1_2" type="radio" name="RadioButtonList1" value="003" /><label for="RadioButtonList1_2">博山</label></td> </tr><tr> <td><input id="RadioButtonList1_3" type="radio" name="RadioButtonList1" value="004" /><label for="RadioButtonList1_3">桓台</label></td> </tr><tr> <td><input id="RadioButtonList1_4" type="radio" name="RadioButtonList1" value="005" /><label for="RadioButtonList1_4">临淄</label></td> </tr><tr> <td><input id="RadioButtonList1_5" type="radio" name="RadioButtonList1" value="006" /><label for="RadioButtonList1_5">周村</label></td> </tr> </table> </div>
1、自动按照索引排序 2、相同的name 3、自动生成value
4、Table 布局(弊端:1、Table布的局,如果要将某个部分换到其他位置,则整个Table要重新做 2、搜索引擎是无法趴到Table内的内容)
二、设置选定项
1、通过索引选中
RadioButtonList1.SelectedIndex = 0;
如果是最后一个(李献策lxc)
RadioButtonList1.SelectedIndex = slist.Count - 1;
2、通过Value值选中
RadioButtonList1.SelectedValue = "001";
3、如何通过Text来设置选中项?
foreach(ListItem li in RadioButtonList1.Items) { if (li.Text == "临淄") { li.Selected = true; } }
三、取出数据
public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { List<States> slist = new List<States>(); States s1 = new States() { Code = "001", Name = "张店" }; States s2 = new States() { Code = "002", Name = "淄川" }; States s3 = new States() { Code = "003", Name = "博山" }; States s4 = new States() { Code = "004", Name = "桓台" }; States s5 = new States() { Code = "005", Name = "临淄" }; States s6 = new States() { Code = "006", Name = "周村" }; slist.Add(s1); slist.Add(s2); slist.Add(s3); slist.Add(s4); slist.Add(s5); slist.Add(s6); RadioButtonList1.DataSource = slist; RadioButtonList1.DataTextField = "Name"; RadioButtonList1.DataValueField = "Code"; RadioButtonList1.DataBind(); foreach (ListItem li in RadioButtonList1.Items) { if (li.Text == "临淄") { li.Selected = true; } } } Button1.Click += Button1_Click; } void Button1_Click(object sender, EventArgs e) { TextBox1.Text = RadioButtonList1.SelectedValue; } }
void Button1_Click(object sender, EventArgs e) { TextBox1.Text = RadioButtonList1.SelectedItem.Text; }
======================================================
2、CheckBoxList - 复选按钮组
一、绑定数据
public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { List<States> slist = new List<States>(); States s1 = new States() { Code = "001", Name = "张店" }; States s2 = new States() { Code = "002", Name = "淄川" }; States s3 = new States() { Code = "003", Name = "博山" }; States s4 = new States() { Code = "004", Name = "桓台" }; States s5 = new States() { Code = "005", Name = "临淄" }; States s6 = new States() { Code = "006", Name = "周村" }; slist.Add(s1); slist.Add(s2); slist.Add(s3); slist.Add(s4); slist.Add(s5); slist.Add(s6); CheckBoxList1.DataSource = slist; CheckBoxList1.DataTextField = "Name"; CheckBoxList1.DataValueField = "Code"; CheckBoxList1.DataBind(); foreach (ListItem li in CheckBoxList1.Items) { if (li.Text == "临淄") { li.Selected = true; } } } Button1.Click += Button1_Click; } void Button1_Click(object sender, EventArgs e) { TextBox1.Text = CheckBoxList1.SelectedItem.Text; } }
二、设置选定项
同RadioButtonList
三、取出数据
void Button1_Click(object sender, EventArgs e) { string s=""; foreach(ListItem li in CheckBoxList1.Items) { if (li.Selected) { s += li.Text; } } TextBox1.Text = s; }
===========================================================
RadioButtonList 与 CheckButtonList 的属性
RepeatDirection:项的布局方向
Horizontal:横向排列 Vertical:纵向排列
RepeatLayout:项是否在某个表或流入中重复
Talbe:数据在表格中 Flow:数据在流式布局中 (李献策lxc)
OrderedList:数据按照有序列表排列(只能纵向排列) UnorderedList:数据在无序列表中排列(只能纵向排列)
RepeatColumns:用于布局项的列数
===========================================================
3、下拉列表DropDownList - 对应单选按钮组
WinForm - ComboBox WebForm - DropDownList
一、绑定数据
public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { List<States> slist = new List<States>(); States s1 = new States() { Code = "001", Name = "张店" }; States s2 = new States() { Code = "002", Name = "淄川" }; States s3 = new States() { Code = "003", Name = "博山" }; States s4 = new States() { Code = "004", Name = "桓台" }; States s5 = new States() { Code = "005", Name = "临淄" }; States s6 = new States() { Code = "006", Name = "周村" }; slist.Add(s1); slist.Add(s2); slist.Add(s3); slist.Add(s4); slist.Add(s5); slist.Add(s6); DropDownList1.DataSource = slist; DropDownList1.DataTextField = "Name"; DropDownList1.DataValueField = "Code"; DropDownList1.DataBind(); } }
二、设置选定项
同上
三、取出选定项
同时
属性
=========================================================
4、ListBox - 对应复选按钮组,默认单选
属性:
SelectionMode:选择模式
Single:单选 Multiple:多选