ListBox Web 控件和DropDownList Web 控件的功能几乎是一样,只是ListBox Web 控件是一次将所有的选项都显示出来。其使用语法如下:
<ASP:ListBox
Id="被程序代码所控制的名称"
Runat="Server"
AutoPostBack="True | False"
*DataSource="<%数据系结叙述%>"
*DataTextField="数据源的字段"
*DataValueField="数据源的字段"
Rows="一次要显示的列数"
SelectionMode="Single | Multiple"
OnSelectedIndexChanged="事件程序名称"
>
<ASP:ListItem/>
</ASP:ListBox>
*关于和数据源的数据系结部分,我们在后面的章节再介绍。下表为ListBox Web 控件的常用属性:
下列范例是基本的ListBox 控件用法,使用者只能单选ListBox Web 控件中的项目:
<Html>
<Form Id="Form1" Runat="Server">
请选择您喜欢的月份(单选):<br>
<ASP:ListBox Id="ListBox1" Runat="Server">
<ASP:ListItem>1 月</ASP:ListItem>
<ASP:ListItem>2 月</ASP:ListItem>
<ASP:ListItem>3 月</ASP:ListItem>
<ASP:ListItem>4 月</ASP:ListItem>
<ASP:ListItem>5 月</ASP:ListItem>
<ASP:ListItem>6 月</ASP:ListItem>
<ASP:ListItem>7 月</ASP:ListItem>
<ASP:ListItem>8 月</ASP:ListItem>
<ASP:ListItem>9 月</ASP:ListItem>
<ASP:ListItem>10 月</ASP:ListItem>
<ASP:ListItem>11 月</ASP:ListItem>
<ASP:ListItem>12 月</ASP:ListItem>
</ASP:ListBox>
</Form>
</Html>
ListBox Web 控件可以进行复选,只要将SelectionMode 属性指定为Multiple(复选)即可。下列范例在使用者复选完毕按下确定按钮后,将使用者所选择的项目列出:
<Html>
<Form Id="Form1" Runat="Server">
请选择您喜欢的月份(复选):<br>
<ASP:ListBox Id="ListBox1" SelectionMode="Multiple" Runat="Server">
<ASP:ListItem>1 月</ASP:ListItem>
<ASP:ListItem>2 月</ASP:ListItem>
<ASP:ListItem>3 月</ASP:ListItem>
<ASP:ListItem>4 月</ASP:ListItem>
<ASP:ListItem>5 月</ASP:ListItem>
<ASP:ListItem>6 月</ASP:ListItem>
<ASP:ListItem>7 月</ASP:ListItem>
<ASP:ListItem>8 月</ASP:ListItem>
<ASP:ListItem>9 月</ASP:ListItem>
<ASP:ListItem>10 月</ASP:ListItem>
<ASP:ListItem>11 月</ASP:ListItem>
<ASP:ListItem>12 月</ASP:ListItem>
</ASP:ListBox>
<ASP:Button Id="btnA" Text="确定" OnClick="btnA_Click"
Runat="Server"/><br>
<ASP:Label Id="Label1" Runat="Server"/>
</Form>
<Script Language="VB" Runat="Server">
Sub btnA_Click(Sender As Object,e As Eventargs)
Dim shtI As Short
Label1.Text="您喜欢的月份是: "
For shtI=0 To ListBox1.Items.Count-1
If ListBox1.Items(shtI).Selected=True Then
Label1.Text & = ListBox1.Items(shtI).Text & " "
End If
Next
End Sub
</Script>
</Html>
ListBox Web 控件的事件和DropDownList Web 控件一样,只要将AutoPostBack 属性设为True,再指定事件SelectedIndexChanged 所要执行的事件程序即可。下列程序代码范例中,只要使用者选择不同的选项便触发SelectedIndexChanged 事件:
请选择您喜欢的月份(单选):<br>
<ASP:ListBox Id="ListBox1" AutoPostBack="True"
OnSelectedIndexChanged ="ListBox1_Chg" Runat="Server">
<ASP:ListItem>1 月</ASP:ListItem>
<ASP:ListItem>2 月</ASP:ListItem>
<ASP:ListItem>3 月</ASP:ListItem>
<ASP:ListItem>4 月</ASP:ListItem>
<ASP:ListItem>5 月</ASP:ListItem>
<ASP:ListItem>6 月</ASP:ListItem>
<ASP:ListItem>7 月</ASP:ListItem>
<ASP:ListItem>8 月</ASP:ListItem>
<ASP:ListItem>9 月</ASP:ListItem>
<ASP:ListItem>10 月</ASP:ListItem>
<ASP:ListItem>11 月</ASP:ListItem>
<ASP:ListItem>12 月</ASP:ListItem>
</ASP:ListBox><br>
<ASP:Label Id="Label1" Runat="Server"/>
</Form>
<Script Language="VB" Runat="Server">
Sub ListBox1_Chg(Sender As Object,e As Eventargs)
Label1.Text="您喜欢的月份是: " & ListBox1.SelectedItem.Text
End Sub
</Script>
</Html>