BulletedList 控件创建一个无序或有序(编号的)的项列表,它们分别呈现为 HTML ul 或 ol 元素。
1、方案
BulletedList 控件用于执行以下操作:
·指定列表中项、项目符号或编号的外观。
·静态定义列表项或通过将控件绑定到数据来定义列表项。
·响应用户对项的单击。
2、功能
使用 BulletedList 控件时,可以执行以下操作:
·自定义项目符号和编号的外观。
·指定列表中的每一项如何呈现,如超链接、静态文本还是链接按钮。
·提供用户单击某项时执行特定于应用程序的任务的逻辑。
3、背景
BulletedList 控件与 ListBox、DropDownList 和其他 ASP.NET 列表控件派生自相同的 ListControl 类。因此,使用 BulletedList 控件就像使用那些控件一样。通过创建静态项或将控件绑定到数据源,可以定义 BulletedList 控件的列表项。如果在设计时知道要显示哪些项,可在标记中将控件的 Items 集合设置为一组单独的项。如果要显示的项是动态的,可以通过代码在运行时创建项集合。
或者,您也可以将控件绑定到包含所要显示的信息的数据源。
您可以通过将控件的 AppendDataBoundItems 属性设置为 true,将静态列表项与绑定数据的列表项组合起来。
为 BulletedList 控件定义项时,要定义两个属性:Text 属性和 Value 属性。Text 属性定义控件在页上显示的内容。Value 属性定义第二个值,该值不会显示,但您可能希望在用户选择某个项时能返回该值。例如,可以将雇员的姓名显示为某项的文本,但将该雇员的 ID 用作值。当用户单击该项时,就可以直接读取该值。
安全说明: 不要对 BulletedList 控件的值属性使用敏感数据(如客户号)。虽然它是不可见的,但各个项的 Value 属性设置仍将呈现在页上,用户能在该页的源代码中很容易地看到它们。
4、自定义列表项外观
BulletedList 控件可呈现项目符号或编号,具体取决于 BulletStyle 属性的设置。如果将控件设置为呈现项目符号,则可以选择与 HTML 标准项目符号样式匹配的预定义项目符号样式字段(如 Disc、Circle 和 Square 字段表示的内容)。
说明: 各个浏览器呈现项目符号的方式各有不同,某些浏览器不支持特定的项目符号样式(如 Disc 字段)。
还可以指定替代项目符号显示的自定义图像。
如果将控件设置为呈现编号,您可以选择 HTML 标准编号选项(如 LowerAlpha、UpperAlpha、LowerRoman 和 UpperAlpha 字段)。通过设置 FirstBulletNumber 属性,还可以为序列指定一个起始编号。
5、指定项的显示模式
BulletedList 控件可以通过以下任一方式显示列表项:
·静态文本 由控件所显示的文本不是交互式的。
·T:System.Web.UI.WebControls.HyperLink 控件 用户可以单击链接转到其他页。您必须提供一个目标 URL 作为单个项的 Value 属性。
·LinkButton控件 用户可以单击单个项,然后控件将执行一次回发。
6、响应用户选择
如果将 BulletedList 控件配置为将单个项显示为 LinkButton 控件,则当用户单击某项时,该控件会执行一次回发。回发将引发 BulletedList 控件的 Click 事件,可以在其中提供逻辑以执行特定于应用程序的任务。该事件将为您传递所单击的项的索引号。
7、类参考
下表列出与 BulletedList 控件相关的类。
成员 | 说明 |
控件的主类。 | |
指定每一项的显示行为的枚举。 | |
指示所选项的索引的事件数据。 | |
处理 BulletedList 控件的 Click 事件的方法。 | |
指定可以显示的项目编号、编号或字母的类型的枚举。 |
8、如何:向 Web 窗体页添加 BulletedList Web 服务器控件 (Visual Studio)
BulletedList 控件可以将静态文本显示在无序列表(带项目符号)或有序列表(带编号)中。
向 Web 窗体页添加 BulletedList Web 服务器控件
A、从工具箱的“标准”选项卡中,将 BulletedList 控件拖动到页面上。
B、在“属性”窗口中,将 DisplayMode 属性设置为以下值之一,以指定控件显示列表项的方式:
·Text 各个项显示为纯文本。
·HyperLink 各个项显示为超链接。
·LinkButton 各个项显示为执行回发的链接。
C、使用以下方法之一向该控件添加列表项:
·添加各个项。
·将数据绑定到控件。
说明: 如果已将 DisplayMode 属性设置为 HyperLink,则在每一项的 Value 属性中指定超链接的目标 URL。
D、在“属性”窗口中,设置 BulletStyle 属性来指定控件是以项目符号形式显示项,还是以编号形式显示项。若要创建一个带编号的(即有序)列表,请将该属性设置为以下枚举值之一:
Numbered、LowerAlpha、UpperAlpha、LowerRoman、LowerRoman
若要创建一个带项目符号的(即无序)列表,请将该属性设置为以下值之一:
Disc、Circle、Square
若要将项目符号显示为自定义图像,请将 BulletStyle 属性设置为某图形的 URL。对每一项都会显示该图形。
9、如何:响应用户在 BulletedList Web 服务器控件中的单击 (Visual Studio)
您可以将 BulletedList 控件配置为以项目符号列表项的形式显示 LinkButton 控件。当用户单击按钮时,控件将页面返回给服务器并给您运行代码以响应单击的机会。
响应用户在 BulletedList Web 服务器控件中的单击
·在“设计”视图中,双击 BulletedList 控件,然后为 BulletedList 控件的 Click 事件添加处理程序。
·在事件处理程序中,获取传递给处理程序的 BulletedListEventArgs 值的 Index 属性。
·使用索引从控件中获取合适的项,然后获取该项的 Text 和 Value 属性。
示例: 下面的代码示例显示了 BulletedList 控件的 Click 事件处理程序。处理程序显示用户单击过哪个列表项。
protected void BulletedList1_Click(object sender,
BulletedListEventArgs e)
{
ListItem li = BulletedList1.Items[e.Index];
Label1.Text = "You selected = " + li.Text + ", with value = "
+ li.Value;
}