BulletedList

  BulletedList 是一个让你轻松在页面上显示项目符号和编号格式(Bulledted List)的控件。对于ASP.NET 1.x里要动态显示Bulledted List时,要么自己利用HTML的<ol>或<ul>元素构造,要么就是“杀鸡用牛刀”的动用 Repeater 来显示。前者过于死板,后者过于overkill,也许微软听到这种声音,于是ASP.NET 2.0总算搞了个 BulletedList 出来了。这控件虽然给人不太多注意,但却看得出微软确实是在乎“用户需求”的。 BulletedList 控件的主要属性有 BulletStyle DisplayMode Items 和主要事件 Click
 
l        BulletStyle :项目符号编号样式值,对应着 System.Web.UI.WebControls.BulletStyle 枚举类型值。其共有以下10种选择项:
1.      Circle :表示项目符号编号样式设置为“○”空圈圈。
2.      CustomImage :表示项目符号编号样式设置为自定义图片,其图片由 BulletImageUrl 属性指定。
3.      Disc :表示项目符号编号样式设置为“●”实圈圈。
4.      LowerAlpha :表示项目符号编号样式设置为小写字母格式。如a、b、c、d等26个小写英文字母。
5.      LowerRoman :表示项目符号编号样式设置为小写罗马数字格式。如i、ii、iii、iv等小写的罗马数字。
6.      NotSet :表示不设置项目符号编号样式。此时将以 Disc 样式为默认样式显示。
7.      Numbered :表示设置项目符号编号样式为数字格式。如1、2、3、4等数字格式。
8.      Square :表示设置项目符号编号样式为“■”实体黑方块。
9.      UpperAlpha :表示设置项目符号编号样式为大写字母格式。如A、B、C、D等26个大写英文字母。
10.  UpperRoman :表示设置项目符号编号样式为大写罗马数字格式。如I、II、III、IV等大写的罗马数字。
l        DisplayMode :顾名思义为显示模式,对应着 System.Web.UI.WebControls.BulletedListDisplayMode 枚举类型值。其共有以下三种选择项:
1.      Text :表示以纯文本形式来表现项目列表。
2.      HyperLink :表示以超链接形式来表现项目列表。链接文字为某个具体项 ListItem Text 属性,链接目标为 ListItem Value 属性。
3.      LinkButton :表示以服务器控件 LinkButton 形式来表现项目列表。此时每个 ListItem 项都将表现为 LinkButton ,同时以 Click 事件回发到服务器端进行相应操作。
l        Items :该属性对应着 System.Web.UI.WebControls.ListItem 对象集合。项目符号编号列表中的每一个项均对应一个 ListItem 对象。ListItem对象有四个主要属性:
?        Enabled :该项是否处于激活状态。默认为True。
?        Selected :该项是否处于选定状态。默认为True。
?        Text :该项的显示文本。
?        Value :该项的值。
l        Click :该事件在 BulletedList 控件的 DisplayMode 处于 LinkButton 模式下,并 BulletedList 控件中的某项被点击时触发。触发时将被点击项在所有项目列表中的索引号(从0开始)作为传回参数传回服务器端。
 
对于各种 BulletStyle ,这里只列出一张截图供观看,看了就明白各种 BulletStyle 在实际中的样子了。
 
同样,下面以三种 DisplayMode 情况作三个简单示例,以便更好理解 BulletedList 的各种属性方法和应用。
 
1.     Text 显示模式:
此种模式最为简单,仅仅提供项目列表的显示而以。其表现代码为:
        <asp:BulletedList ID="BulletedList1" BulletStyle="Circle" runat="server">
            <asp:ListItem>Item #1</asp:ListItem>
            <asp:ListItem>Item #2</asp:ListItem>
            <asp:ListItem Text="Item #3"></asp:ListItem>
            <asp:ListItem Text="Item #4" Value="Item #4"></asp:ListItem>
        </asp:BulletedList>
当然,也可以通过数据绑定来实现数据显示,做法类似下面 HyperLink 的数据绑定操作。
 
2.     LinkButton 显示模式:
这里只简要说明其数据绑定的数据显示操作。
            <asp:BulletedList ID="BulletedList1" runat="server" DataSourceID="SqlDataSource1"
                DataTextField="ProductName" DataValueField="ProductID" DisplayMode="LinkButton">
            </asp:BulletedList>
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
                SelectCommand="SELECT TOP 10 [ProductID], [ProductName] FROM [Products]">
            </asp:SqlDataSource>
3.     HyperLink 显示模式:
XmlDataSource 作为数据源绑定到 BulletedList 控件相对于 SqlDataSource 来说,要繁琐点。 XmlDataSource SqlDataSource 都属于新增的数据源控件,在后面会再作介绍。
    假设一份XML数据:
<? xml version = "1.0"encoding="utf-8" ?>
< QuickLinks >
     < QuickLink >
         < Name > Whidbey @ ASP.NET</Name>
         < Url > http://www.asp.net/Whidbey</Url>
     </ QuickLink >
     < QuickLink >
         < Name > ASP.NET Dev Center </ Name >
         < Url > http://msdn.microsoft.com/asp.net/</Url>
     </ QuickLink >
     < QuickLink >
         < Name > .NET WebLogs @ ASP.NET</Name>
         < Url > http://weblogs.asp.net</Url>
     </ QuickLink >
     < QuickLink >
         < Name > ASP.NET Web Matrix</Name>
         < Url > http://asp.net/WebMatrix</Url>
     </ QuickLink >
</ QuickLinks >
    对应这份XML文件的XSL代码为:
< xsl:stylesheet version = "1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     < xsl:template match = "QuickLinks">
         < QuickLinks >
              < xsl:apply-templates select = "QuickLink"/>
         </ QuickLinks >
     </ xsl:template >
     < xsl:template match = "QuickLink">
         < QuickLink >
              < xsl:attribute name = "Name">
                   < xsl:value-of select = "Name"/>
              </ xsl:attribute >
              < xsl:attribute name = "Url">
                   < xsl:value-of select = "Url"/>
              </ xsl:attribute >
              < xsl:apply-templates />
         </ QuickLink >
     </ xsl:template >
</ xsl:stylesheet >
此时将这份XML文件绑定到 BulletedList 控件上:
            <asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/NavigateMenu.xml"
                TransformFile="~/NavigateMenu.xsl" XPath="QuickLinks/QuickLink"></asp:XmlDataSource>
            <asp:BulletedList ID="BulletedList1" runat="server" DataSourceID="XmlDataSource1"
                DataTextField="Name" DataValueField="Url" DisplayMode="HyperLink">
            </asp:BulletedList>
可以从上面看到 XmlDataSource 除了 DataFile ,还需要 TransformFile 和需要指定 XPath 才能作为正常数据源被绑定到 BulletedList 中(其他诸如 DropDownList 等绑定 XmlDataSource 时,做法也类似。在介绍 XmlDataSource 会进一步说明,这里先暖暖身)。
 
[ 总结]:诚如我在开头所说的那样,对于ASP.NET 1.x里要动态显示项目编号符号列表时,要么自己利用HTML的<ol>或<ul>元素构造,要么就是“杀鸡用牛刀”的动用 Repeater 来显示。前者过于死板,后者过于overkill。而 BulletedList 属于“中庸”路线,恰到好处的控件,多一分则过火,少一分则不足。
 
[ 参考资料]:
1.         MSDN Library for Visual Studio 2005 beta2
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值