3.用于选择的内部控件
(1).CheckBox控件和CheckBoxList控件
①.CheckBox控件
<asp:checkbox options></asp:checkbox>
或者: <asp:checkbox options/>
属性/事件名 |
属性/事件 |
取值 |
说明 |
Id |
属性 |
任意字符串 |
用于惟一表示CheckBox控件的字符串 |
Runat |
属性 |
Server |
表示是服务器端控件 |
AutoPostBack |
属性 |
True/False |
当这个属性设置为True且用户的选择改变时给服务器提交一个OnCheckedChanged定义的事件 |
Text |
属性 |
字符串 |
选项的文本内容 |
TextAlign |
属性 |
Right/Left |
文本的对齐方式,取值为Left或Right |
Checked |
属性 |
True/False |
指示或设置复选框的当前状态 |
OnCheckedChanged |
事件 |
处理事件的方法名 |
当AutoPostBack为True时提交给服务器事件的处理方法 |
②. CheckBoxList控件
<asp:checkboxlist options1>
<asp:listitem options2/>
…
</asp:checkboxlist>
a).CheckBoxList控件的基本属性和事件
属性/事件名 |
属性/事件 |
取值 |
说明 |
Id |
属性 |
任意字符串 |
用于惟一表示CheckBoxList控件的字符串 |
Runat |
属性 |
Server |
表示是否是服务器端控件 |
AutoPostBack |
属性 |
True/False |
这个属性赋值为True时,如果用户选择发生变化,可以自动向服务器发送事件 |
CellPadding |
属性 |
整数 |
控件显示时各个选项之间的距离 |
DataSource |
属性 |
数据源对象 |
数据源对象或者用于指定数据的字符串 |
DataTextField |
属性 |
数据字段对象 |
在指定了数据源之后,这个属性表示这个数据源的相关数据字段 |
DataValueField |
属性 |
数据字段值对象 |
在指定了数据源之后,这个属性表示这个数据源的相关数据字段的值 |
RepeatColumns |
属性 |
整数型 |
如果需要分行显示就用这个属性表示需要分几行显示.默认值是1 |
RepeatDirection |
属性 |
Vertical/Horizontal |
选项的排列方向是垂直还是水平.默认值是Vertical |
RepeatLayout |
属性 |
Flow/Table |
选项的排列方向是平铺还是表格方式 |
TextAlign |
属性 |
Right/Left |
选项内容的对齐方式 |
Items |
属性 |
集合 |
在编码时使用,用于表示各个选项的集合 |
SelectedIndexs |
属性 |
集合 |
在编码时使用,用于表示所有已选择的选项的索引集合 |
SelectedIndex |
属性 |
整数型 |
在编码时使用,用于表示已经选择的选项的索引 |
SelectItem |
属性 |
对象 |
在编码时使用,表示一个被选定的选项 |
SelectItems |
属性 |
集合 |
在编码时使用,表示所有被选定的选相集合 |
OnSelectedIndexchanged |
事件 |
处理事件的方法名 |
当有事件向服务器提交时的事件处理方法 |
b).CheckBoxList控件的每个ListItem的基本属性
属性名 |
取值 |
说明 |
Text |
字符串 |
表示每个选项的文本 |
Value |
字符串 |
表示每个选项的选项值 |
Selected |
True/False |
如果为True则在初始显示的时候,这个选项就被选中 |
c).例
例1.
<script language=”vb” runat=server>
Sub chkclick(Sender as object,E as EventArgs)
Dim strtemp
Dim inti
Strtemp=”<br>”
For inti=0 To chkboxlist.Items.Count-1
If chkboxlst.Items(inti).Selected then ‘如果被选中
Select Case chkboxlst.Iems(inti).Value
Case “+”
Strtemp=strtemp&”3+2=5<br>”
Case “-”
Strtemp=strtemp&”3-2=1<br>”
Case “*”
Strtemp=strtemp&”3*2=6<br>”
Case “/”
Strtemp=strtemp&”3/2=1.5<br>”
End Select
End If
Next
Labcontemt.Text=strtemp
End Sub
</script>
请选择计算题:<br>
<form runat=”server”>
<asp:checkboxlist id=”chkboxlst” runat=server autopostback=true onselectedindexchanged=”chkclick”>
<asp:listitem text=”3+2=?” value=”+” selecte=”false”/>
<asp:listitem text=”3-2=?” value=”-” selecte=”false”/>
<asp:listitem text=”3*2=?” value=”*” selecte=”false”/>
<asp:listitem text=”3/2=?” value=”/” selecte=”false”/>
</asp:checkboxlist>
<hr>
<asp:label runat=server id=labcontent/>
</form>
例2.数据绑定 方法一
<Form runat=server>
<ASP:CheckBoxList Id="CheckBoxList1" DataSource='<%#alA%>' Runat="Server"/>
</Form>
<Script Language="VB" Runat="Server">
Dim alA As ArrayList = New ArrayList
Sub Page_Load(Sender As Object, e As EventArgs)
alA.Add("看书")
alA.Add("打球")
alA.Add("上网")
alA.Add("游戏")
Page.DataBind()
End Sub
</Script>
例2.数据绑定 方法二
<Form runat=server>
<ASP:CheckBoxList Id="CheckBoxList1" Runat="Server"/>
</Form>
<Script Language="VB" Runat="Server">
Dim alA As ArrayList = New ArrayList
Sub Page_Load(Sender As Object, e As EventArgs)
alA.Add("看书")
alA.Add("打球")
alA.Add("上网")
alA.Add("游戏")
CheckBoxList1.DataSource=alA
CheckBoxList1.DataBind()
End Sub
</Script>
(2).RadioButton控件和RadioButtonList控件
①.RadioButton控件
<asp:radiobutton options></asp:radiobutton>
或者: <asp:radiobutton options/>
属性/事件名 |
属性/事件 |
取值 |
说明 |
Id |
属性 |
任意字符串 |
用于惟一表示RadioButton控件的字符串 |
Runat |
属性 |
Server |
表示是服务器端控件 |
AutoPostBack |
属性 |
True/False |
当这个属性设置为True时,如果控件的选择发生变化,就自动向服务器发送一个事件 |
Checked |
属性 |
True/False |
默认的选定方式(选中/未选中) |
GroupName |
属性 |
字符串 |
表示这个控件所属的组的名字.属于同一个组的RadioButton控件在同一个时刻只能有一个被选中 |
Text |
属性 |
字符串 |
描述这个控件的文本 |
TextAlign |
属性 |
Right/Left |
描述文本的排列方式 |
OnCheckedChanged |
事件 |
处理事件的方法名 |
当AutoPostBack为True时,如果RadioButton控件的选择发生变化,就用这个事件所定义的方法处理这个事件 |
[RadioButton]控件事例:
<html>
<script language=”vb” runat=server>
Sub chkclick(Sender as object,E as EventArgs)
Dim strtemp
Strtemp=”<br>”
If rb1.checked then strtemp=strtemp&”3+2=5<br>”
If rb2.checked then strtemp=strtemp&”3-2=1<br>”
If rb3.checked then strtemp=strtemp&”3*2=6<br>”
If rb4.checked then strtemp=strtemp&”3/2=1.5<br>”
Labcontent.Text=strtemp
End Sub
</script>
<body>
请选择计算题:<br>
<form runat=”server”>
<asp:radiobutton id=rb1 groupname=”rg” text=”3+2=?” checked=true/><br>
<asp:radiobutton id=rb2 groupname=”rg” text=”3-2=?” checked=false/><br>
<asp:radiobutton id=rb3 groupname=”rg” text=”3*2=?” checked= false/><br>
<asp:radiobutton id=rb4 groupname=”rg” text=”3/2=?” checked= false/><br>
<asp:button id=”butsubmit” runat=server text=”提交” onclick=”radclick”/>
<hr>
<asp:label runat=server id=labcontent/>
</form>
</body>
</html>
②.RadioButtonList控件
<asp:radiobuttonlist options1>
<asp:listitem option2/>
…
</asp:radiobuttonlist>
RadioButtonList控件的基本属性和事件
属性/事件名 |
属性/事件 |
取值 |
说明 |
Id |
属性 |
任意字符串 |
用于惟一表示RadioButtonList控件的字符串 |
Runat |
属性 |
Server |
表示是否是服务器端控件 |
AutoPostBack |
属性 |
True/False |
这个属性赋值为True时,如果用户选择发生变化,可以自动向服务器发送事件 |
CellPadding |
属性 |
整数 |
控件显示时各个选项之间的距离 |
DataSource |
属性 |
数据源对象 |
数据源对象或者用于指定数据的字符串 |
DataTextField |
属性 |
数据字段对象 |
在指定了数据源之后,这个属性表示这个数据源的相关数据字段 |
DataValueField |
属性 |
数据字段值对象 |
在指定了数据源之后,这个属性表示这个数据源的相关数据字段的值 |
RepeatColumns |
属性 |
整数型 |
如果需要分行显示就用这个属性表示需要分几行显示.默认值是1 |
RepeatDirection |
属性 |
Vertical/Horizontal |
选项的排列方向是垂直还是水平.默认值是Vertical |
RepeatLayout |
属性 |
Flow/Table |
选项的排列方向是平铺还是表格方式 |
TextAlign |
属性 |
Right/Left |
选项内容的对齐方式 |
Items |
属性 |
集合 |
在编码时使用,用于表示各个选项的集合 |
SelectedIndexs |
属性 |
集合 |
在编码时使用,用于表示所有已选择的选项的索引集合 |
SelectedIndex |
属性 |
整数型 |
在编码时使用,用于表示已经选择的选项的索引 |
SelectItem |
属性 |
对象 |
在编码时使用,表示一个被选定的选项 |
SelectItems |
属性 |
集合 |
在编码时使用,表示所有被选定的选相集合 |
OnSelectedIndexchanged |
事件 |
处理事件的方法名 |
当有事件向服务器提交时的事件处理方法 |
RadioButtonList控件的每个ListItem的基本属性
属性名 |
取值 |
说明 |
Text |
字符串 |
表示每个选项的文本 |
Value |
字符串 |
表示每个选项的选项值 |
Selected |
True/False |
如果为True则在初始显示的时候,这个选项就被选中 |
(3).ListBox控件 (类似下拉列表框)
<asp:listbox options1>
<asp:listitem options2/>
…
</asp:listbox>
ListBox控件的基本属性和事件
属性/事件名 |
属性/事件 |
取值 |
说明 |
Id |
属性 |
任意字符串 |
用于惟一表示listBox控件的字符串 |
Runat |
属性 |
Server |
表示是否是服务器端控件 |
AutoPostBack |
属性 |
True/False |
这个属性赋值为True时,如果用户选择发生变化,可以自动向服务器发送事件 |
DataSource |
属性 |
数据源对象 |
数据源对象或者用于指定数据的字符串 |
DataTextField |
属性 |
数据字段对象 |
在指定了数据源之后,这个属性表示这个数据源的相关数据字段 |
DataValueField |
属性 |
数据字段值对象 |
在指定了数据源之后,这个属性表示这个数据源的相关数据字段的值 |
Rows |
属性 |
整数型 |
表示可以显示的项目行数 |
Items |
属性 |
集合 |
在编码时使用,用于表示各个选项的集合 |
SelectedIndex |
属性 |
整数型 |
在编码时使用,用于表示已经选择的选项的索引 |
SelectItem |
属性 |
对象 |
在编码时使用,表示一个被选定的选项 |
SelectItems |
属性 |
集合 |
在编码时使用,表示所有被选定的选相集合 |
SelectionMode |
属性 |
Single/Multiple |
当这个属性设置为Single的话,表示是单选;当这个属性设置为Multiple的话,表示是多选 |
OnSelectedIndexChanged |
事件 |
处理事件的方法名 |
当有事件向服务器提交时的事件处理方法 |
|
|
|
|
ListBox控件的每个ListItem的基本属性
属性名 |
取值 |
说明 |
Text |
字符串 |
表示每个选项的文本 |
Value |
字符串 |
表示每个选项的选项值 |
Selected |
True/False |
如果为True则在初始显示的时候,这个选项就被选中 |
例1:当前被选定的元素
MyListBox.SelectedItem.Text
例2:被选定的所有元素
For I = 0 To Book.Items.Count-1
If Book.Items(I).Selected Then
MyMessage2.InnerHtml &= Book.Items(i).Text &" "
End If
Next
例3:数据绑定 方法二
<script language="VB" runat=server>
Sub Page_Load()
If Not IsPostBack
Dim MyAL as ArrayList=new ArrayList()
MyAL.add("北京")
MyAL.add("上海")
MyAL.add("广州")
MyAL.add("香港")
MyList.datasource=MyAL
MyList.databind
End If
End Sub
</script>
<form method="POST" runat=server>
<asp:ListBox id="MyList" runat=server/>
</form>
例4:数据绑定 方法二
<Form id="F1" Runat="server">
请输入您的血型:
<ASP:ListBox Id="ListBox1" DataSource='<%#arA%>' Rows="4" Runat="Server"/>
</Form>
<Script Language="VB" Runat="Server">
Dim arA() As String = {"A","B","O","AB"} '定义网页层次的数组
Sub Page_Load(Sender As Object, e As EventArgs)
Page.DataBind()
End Sub
</Script>
(4).DropDownList控件
<asp:dropdownlist options1>
<asp:listitem options2/>
…
</asp:dropdownlost>
DropDownList控件的基本属性和事件
属性/事件名 |
属性/事件 |
取值 |
说明 |
Id |
属性 |
任意字符串 |
用于惟一表示DropDownList控件的字符串 |
Runat |
属性 |
Server |
表示是否是服务器端控件 |
AutoPostBack |
属性 |
True/False |
这个属性赋值为True时,如果用户选择发生变化,可以自动向服务器发送事件 |
DataSource |
属性 |
数据源对象 |
数据源对象或者用于指定数据的字符串 |
DataTextField |
属性 |
数据字段对象 |
在指定了数据源之后,这个属性表示这个数据源的相关数据字段 |
DataValueField |
属性 |
数据字段值对象 |
在指定了数据源之后,这个属性表示这个数据源的相关数据字段的值 |
Items |
属性 |
集合 |
在编码时使用,用于表示各个选项的集合 |
SelectedIndex |
属性 |
整数型 |
在编码时使用,用于表示已经选择的选项的索引 |
SelectItem |
属性 |
对象 |
在编码时使用,表示一个被选定的选项 |
OnSelectedIndexChanged |
事件 |
处理事件的方法名 |
当有事件向服务器提交时的事件处理方法 |
|
|
|
|
DropDownList控件的每个ListItem的基本属性
属性名 |
取值 |
说明 |
Text |
字符串 |
表示每个选项的文本 |
Value |
字符串 |
表示每个选项的选项值 |
Selected |
True/False |
如果为True则在初始显示的时候,这个选项就被选中 |
例1:DropDownList控件实例
1).当前被选定的元素
lblA.Text="您选择的选项是"&ddlA.SelectedItem.Text&_
",值是"& ddlA.SelectedItem.Value&_
",索引值是"&ddlA.SelectedIndex.ToString
2).添加元素
ddlA.Items.Add("添加的元素文本")
ddlA.Items.Add(new ListItem("文本","值"))
例3:数据绑定
<script language="VB" runat=server>
Sub Page_Load()
If Not IsPostBack
Dim MyAL as ArrayList=new ArrayList()
MyAL.add("北京")
MyAL.add("上海")
MyAL.add("广州")
MyAL.add("香港")
MyDropDownList.datasource=MyAL
MyDropDownList.databind
End If
End Sub
</script>
<form method="POST" runat=server>
<asp:DropDownList id="MyDropDownList" runat=server/>
</form>
(5).ListControl控件
<asp:ListControl id=myListControl options/>
①.ListControl控件成员
成员 |
说明 |
Id |
用于惟一表示DropDownList控件的字符串 |
Runat |
表示是否是服务器端控件 |
AutoPostBack |
这个属性赋值为True时,如果用户选择发生变化,可以自动向服务器发送事件 |
DataMember和DataSource |
这些属性允许列表控件到一个数据源中。DataSource属性标识包含此信息的数据源。如果在数据源中有一个以上的表(像DataSet),DataMember标识要使用的表 |
DataTextField |
在指定了数据源之后,这个属性表示这个数据源的相关数据字段 |
DataTextFormatingString |
指定将用来进行格式化的一个格式字符串 |
DataValueField |
在指定了数据源之后,这个属性表示这个数据源的相关数据字段的值。这个值可以通过ListItem访问,但对用户来说是不可见的 |
Items |
在编码时使用,用于表示各个选项的集合 |
SelectedIndex |
在编码时使用,用于表示已经选择的选项的索引 |
SelectItem |
在编码时使用,表示一个被选定的选项 |
DataBind() |
这个方法用来自数据源的数据填充控件。要求这个方法来更新列表控件数据并且经常在传回上执行。也可以调用Page.Databind()方法来立刻绑定所有数据绑定的控件 |
OnSelectedIndexChanged |
当有事件向服务器提交时的事件处理方法 |
②.ListItem成员
成员 |
说明 |
Text |
等到或设置将为列表中的这一项显示的文本 |
Value |
等到或设置与这一项相关联的字符串值(但是不显示出来)。Value属性的一个典型用法是为一行存储惟一数据库ID号 |
Selected |
如果现在选中此项,则为True |
4.其它控件
(1). Panel 面板
<asp:Panel id=Panel1 runat=Server options>
其它控件
</asp:Panel>
可以通过添加一个控件对象到它的Controls集合来反控件置入其中
如:
ArrayList a=new ArrayList();
a.Add("崔");
a.Add("李");
CheckBoxList CheckBoxList1=new CheckBoxList();
CheckBoxList1.DataSource=a;
CheckBoxList1.DataBind ();
Panel1.Controls.Add(CheckBoxList1); //方法一 需引入:using System.Web.UI.WebControls;命名空间
Panel1.Controls.Add(new LiteralControl("<input type=checkbox id=input2/>")); //方法二
WebControl wc=new WebControl (HtmlTextWriterTag.Textarea ); //方法三
Panel1.Controls.Add(wc);
成员 |
说明 |
BackImageUrl |
背景图像的URL。如果图像比Panel小,它将被平铺填充到Panel中 |
HorizontalAlign |
获取或设置面板中内容的水平对齐特性 |
Wrap |
指定控件的内容是否在其界限内换行,默认为True。否则,Panel将自动调整大小以容纳它的内容 |
(2). PlaceHolder 占位符
<asp:PlaceHolder id=PlaceHolder1 options/>
可以通过添加一个控件对象到它的Controls集合来反控件置入其中
如:
WebControl wc=new WebControl (HtmlTextWriterTag.Textarea );
PlaceHolder1.Controls.Add(wc);
(3).Table
①.表(Table)成员
成员 |
说明 |
BackImageUrl |
背景图像的URL。如果图像比表小,它将被平铺 |
Cellpadding |
在单元格和它的内容之间的空白,以像素计 |
CellSpacing |
同一表中单元格之间的空白,以像素计 |
GirdLines |
指定在表中显示的网格线的类型(None,Horizontal,Vertical或者Both) |
HorizontalAlign |
表格和页面的其余部分的对齐特性 |
Rows |
提供表示表中各行TableRow对象的一个集合。可以使用方法,例如:Add,Insert和Remove来动态地配置表 |
②.行(TableRow)成员
成员 |
说明 |
HorizontalAlign |
行的水平对齐特性,可以是Left,Center,Right或Justify |
VerticalAlign |
行的垂直对齐特性,可以是Middle,Top,Bottom或Baseline |
Cells |
提供表示表中各个单元格的TableCell对象的集合。可以使用方法,例如:Add,Insert和Remove来动态地配置表的行 |
③.单元格(TableCell)成员
成员 |
说明 |
ColumnSpan和RowSpan |
指定一个给定的单元格可以跨多少行和列。这个属性允许一个单元格占一个较大的范围,但不被所有的浏览器所支持 |
HorizontalAlign和VerticalAlign |
单元格的水平或垂直对齐特性。这些属性的工作方式与对应的TableRow属性相同 |
Text |
单元格中的文本 |
Wrap |
默认值为False,单元格中的文本不会自动换行,但是将扩展单元格的边框 |
例:
<%@ Page Language="VB" Debug="true" %>
<%
Dim myTable,myRow,myCell as Object
myTable=new Table()
Dim i,j,k as integer
for j=1 to 3
myRow=new TableRow()
for i=1 to 4
myCell=new TableCell()
myCell.text="("+Cstr(j)+","+CStr(i)+")<img src='1.gif'>"
myRow.Cells.Add(myCell)
next
table1.Rows.Add(myRow)
next
%>
<form runat=server id=form1>
<asp:Table id=table1 runat=server/>
</form>