webform中几个常用的控件
一,简单控件
1,Lable——标签:在网页中呈现出来的时候会变成span标签
属性:Text——标签上的文字
BackColor,ForeColor——背景色,前景色
Font——字体
Bold-加粗
Italic-倾斜
UnderLine-下划线 OverLine 上划线 StrikeOut 删除线
Name - 字体名
Size - 字体的大小
BorderColor——边框颜色
BorderWidth-边框粗细
BorderStyle - 边框样式
Height——高
Width——宽
Enabled-是否可用
Visible-是否可见
ToolTip-鼠标指上去的提示信息
CssClass - 样式表的class选择器
2.Literal——这也是一个标签,但它在网页中显示的时候不会变成span标签
它 的属性很少,是派生自control类的
3.TextBox——文本框 HiddenField——隐藏域
属性:它拥有Lable所有的属性
TextMode:文本框的呈现模式——SingleLine--单行文本框;MultiLine-多行文本框;Password-密码框
ReadOnly - 只读
MaxLength - 最大输入的字符数。只有TextMode是SingleLine和Password的时候起作用,在MultiLine的时候不起作用。
Columns:宽度,以字母个数为单位
Rows:高度,以行数为单位。只有TextMode是MultiLine的时候才起作用。在单行文本或多行文本下是不起作用的。
4.Button——按钮 LinkButton 超链接按钮 ImageButton 图片按钮(ImageUrl属性)
属性:它拥有Lable所有的属性
OnClientClick:当按钮被点击的时候,要执行的客户端的JS代码。它的触发要在按钮的C#事件代码之前。
5.HyperLink:超链接
属性:它拥有Lable所有的属性
NavigateUrl:超链接指向的地址,相当于href
Target:打开位置
ImageUrl:图片超链接的地址
6.Image——图片
属性:拥有Lable所有的属性
ImageUrl:图片的地址
二,复合控件
1.DropDownList——下拉列表 拥有Lable的所有属性
对于DropDownlist必须会做三件事
(1)把内容填进去
法一:逐项添加
private void FillList() { List<QuanxianData> list = new QuanxianDA().Select();
//QuanxianData qd=new QuanxianData();
//qd.Qname="请选择";
//qd.Qno="-1";
//list.Insert(0, qd);在第一项加上“请选择”的功能
foreach (QuanxianData data in list) { ListItem item = new ListItem(); item.Text = data.Qname; item.Value = data.Qno; DropDownList1.Items.Add(item); } }
法二:数据绑定
private void FillList2() { List<QuanxianData> list = new QuanxianDA().Select();
//QuanxianData qd=new QuanxianData();
//qd.Qname="请选择";
//qd.Qno="-1";
//list.Insert(0, qd);在第一项加上“请选择”的功能
DropDownList1.DataSource = list; DropDownList1.DataTextField = "Qname"; DropDownList1.DataValueField = "Qno"; DropDownList1.DataBind(); //最终执行绑定填充,不要漏掉 }
技巧:如何给下拉列表加上“请选择”的功能
1.用以上代码中的方法
2.事先在下拉列表中设置静态的"请选择"列表项。然后再绑定或添加数据的时候在后面添加上。
如果采用数据绑定模式,默认情况下会把原有的项冲掉。需要设置AppendDataBoundItems属性为true。
3.所有的项都绑定或填加到下拉列表后,再写代码加上”请选择“的功能。
protected void Page_Load(object sender, EventArgs e) { FillList(); ListItem li = new ListItem("请选择", "-1"); DropDownList1.Items.Insert(0, li); }
(2)把选中的值取出来:选择列表里的项,点击按钮,在标签中显示选择的内容
protected void Button1_Click(object sender, EventArgs e) { Label1.Text = DropDownList1.SelectedItem.Text + DropDownList1.SelectedItem.Value;//取出选中项的文本和值 Label1.Text = DropDownList1.SelectedValue;//取出选中项的值 int index = DropDownList1.SelectedIndex;//取出选中项的索引号 Label1.Text = DropDownList1.Items[index].Text + DropDownList1.Items[index].Value;//取出对应索引号的文本和值 }
注意:每次点击按钮时,都是要先执行Page_Load中的代码,然后再执行Button-Click中的代码
所以在Page_Load中要加入一下代码
if(!IsPostBack)
{
防止每次点击提交页面都会执行这里面的代码。
这里面的代码,只有页面初次加载的时候才被执行。点击按钮提交的时候,不会被执行到。
以后记着:在Page_Load事件中99%的情况下需要写这段判断
}
(3)设定某项为选中项
给DropDownList的两个属性赋值:
SelectedIndex = 选中的索引号
SelectedValue = 选中项的值
protected void Button2_Click(object sender, EventArgs e) { //DropDownList1.SelectedIndex = Convert.ToInt32(TextBox1.Text); DropDownList1.SelectedValue = TextBox1.Text; }
2.RadioButtonList——单选按钮列表
属性:它拥有Dropdownlist所有的属性和功能
RepeatDirection:布局的方向
RepeatLayout:布局方式
RepeatColumns:一行显示几个
案例: 和Dropdownlist相同
3.CheckBoxList——复选框列表
拥有RadioButtonList所有的属性和功能
技巧:
(1)如何获取选中的多个项?
//获取复选框的选中值。
//思路:遍历复选框列表中的每个项,判断每个项的选中情况。
foreach (ListItem li in CheckBoxList1.Items)
{
if (li.Selected)
{
Label2.Text += li.Value + ",";
}
}
(2)如何设置几个项同时被选中
//设置文本框中指定的项(用 | 隔开的每一项)被选中
//思路:从文本框中解析出要选中的项的value值,然后再遍历每一项,判断是否是文本框中指定的,是的话就设为选中,不是就设为不选中。
CheckBoxList1.SelectedIndex = -1; //先清空列表中被选中的项
string s = TextBox1.Text;
string[] ss = s.Split('|'); //解析出要选中的value值
foreach (ListItem li in CheckBoxList1.Items)
{
if (ss.Contains(li.Value))
{
li.Selected = true;
continue;
}
}
4.ListBox——列表框
拥有Dropdownlist所有的属性和功能
SelectionMode - Single,Multiple
案例:如果是单选的话就照着Dropdownlist来做
如果是多选的话就照着Checkboxlist来做