ASP.NET复合控件

时间:2023-12-22 09:18:02

DropDownList 下拉列表

会被编译为select option

ps.name 服务端常用,id 客户端常用

一般用法:

一、将数据放进去

方法一:同WinForm相同,给定数据源,然后绑定数据

         DropDownList1.DataSource = new NationData().Select();//数据源指向
DropDownList1.DataTextField = "NationName";//显示字段绑定
DropDownList1.DataValueField = "NationCode";//隐藏字段绑定
DropDownList1.DataBind();

方法二:使用foreach遍历取出的数据

             List<Nation> Nlist = new NationData().Select();

             foreach (Nation n in Nlist)
{
ListItem li = new ListItem(n.NationName, n.NationCode);
if (li.Value == "N003")
{
li.Selected = true;
}
DropDownList1.Items.Add(li);
}

二、将数据取出

1、取一条数据

可以根据需求取Value或者Select

可以直接点出,造一个string类型的数据接收

2、取多条数据

因为DropDownList只能选中一条,所以不能取出多条数据。

可多选的控件可以取出多条数据,例如ListBox

②ListBox的添加数据的方法与DropDownList相同,取出也基本类似

但可以通过更改SelectionMode的属性多选或者单选。

SelectionMode="Multiple"  时为多选

SelectionMode="Single"    时为单选

取值可使用遍历

 string end = "";

         foreach (ListItem li in ListBox1.Items)
{
if (li.Selected)
{
end += li.Text + " - " + li.Value + ",";
}
} Label1.Text = end;

③CheckBoxList 多选列表

使用方法也ListBox相同

多了三个布局用的属性 RepeatDirection  RepeatColumns  RepertLayout

RepeatDirection  Vertical 垂直布局

Horizontal 水平布局

RepertLayout 布局方式

Flow        流式布局

Table       表格布局

OrderedList     有序表

UnorderedList  无序表

RepeatColumns 一行多少数据

div布局灵活,table布局不够灵活。搜索的蜘蛛程序在搜索时使用div的数据比table中的数据更容易被抓取到

④RadioButtonList  单选列表

使用与之前的控件基本相同,但只能单选

注意:Http协议的无状态性

无状态性是指:每次时间提交都会刷新页面,每次刷新必走load端,会造成列表数据的重复绑定。

使用if (!IsPostBack)可以尽可能的避免这种情况