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开始)作为传回参数传回服务器端。

BulletedList显示如下:

同样,下面以三种DisplayMode情况作三个简单示例,以便更好理解BulletedList的各种属性方法和应用。

1.     Text显示模式:

此种模式最为简单,仅仅提供项目列表的显示而以。其表现代码为:

<asp:BulletedList ID="BulletedList1" BulletStyle="Circle" runat="server">

<asp:ListItem>Item #1</asp:ListItem>

<asp:ListItem Text="Item #2"></asp:ListItem>

<asp:ListItem Text="Item #3" Value="Item #3"></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显示模式:

各项以超连接显示

当然啦,对于BelletedList控件我们用得最多是用它做列表显示,比如网页头部的菜单栏,或从数据库中动态读取某列的全部字段而加以绑定显示,今天做项目恰好碰到读取数据库中材质全部字段的问题,想到用此控件;具体实现如下;

前台显示:

<div id="stuff">

<asp:BulletedList ID="blMQ" runat="server" DataSourceID="sdsMQ" DataTextField="MQ_Name" DataValueField="id" DisplayMode="LinkButton" Width="98%" Height="62px" OnClick="blMQ_Click">
</asp:BulletedList>

<div>
<asp:SqlDataSource ID="sdsMQ" runat="server" SelectCommand="select * from Product_MaterialQ" ConnectionString="Data Source=computer\sa;Initial Catalog=Go24k_Shop;user id=sa;password=123456;">
</asp:SqlDataSource>

后台主要代码:

protected void blMQ_Click(object sender, BulletedListEventArgs e)
    {
        ListItem List = blMQ.Items[e.Index];
        Response.Redirect("/Member/AddCustomer.aspx?id=" + List.Value.Trim());
    }

最后在前台页面顶部<head></head>部分加个样式如下:

<style type="text/css">
        #stuff ul{list-style:none;margin:0px;}
        #stuff ul li{float:left;margin:0 10px}
</style>

ok!横排成菜单模式了!

BulletedList使用及详解的更多相关文章

  1. Asp.Net BulletedList使用及详解

    BulletedList使用及详解   文章来源:www.cnblogs.com/xiohao/archive/2013/10/09/3359263.html BulletedList是一个让你轻松在 ...

  2. 转AjaxControlToolkit的安装与使用详解

    AjaxControlToolkit的安装与使用详解 AjaxControlToolkit下载http://ajax.asp.net/downloads/default.aspx?tabid=47ht ...

  3. Linq之旅:Linq入门详解(Linq to Objects)

    示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集 ...

  4. 架构设计:远程调用服务架构设计及zookeeper技术详解(下篇)

    一.下篇开头的废话 终于开写下篇了,这也是我写远程调用框架的第三篇文章,前两篇都被博客园作为[编辑推荐]的文章,很兴奋哦,嘿嘿~~~~,本人是个很臭美的人,一定得要截图为证: 今天是2014年的第一天 ...

  5. EntityFramework Core 1.1 Add、Attach、Update、Remove方法如何高效使用详解

    前言 我比较喜欢安静,大概和我喜欢研究和琢磨技术原因相关吧,刚好到了元旦节,这几天可以好好学习下EF Core,同时在项目当中用到EF Core,借此机会给予比较深入的理解,这里我们只讲解和EF 6. ...

  6. Java 字符串格式化详解

    Java 字符串格式化详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. 在 Java 的 String 类中,可以使用 format() 方法 ...

  7. Android Notification 详解(一)——基本操作

    Android Notification 详解(一)--基本操作 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Notification 文中如有纰 ...

  8. Android Notification 详解——基本操作

    Android Notification 详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 前几天项目中有用到 Android 通知相关的内容,索性把 Android Notificatio ...

  9. Git初探--笔记整理和Git命令详解

    几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...

随机推荐

  1. 结合ItemsControl在Canvas中动态添加控件的最MVVM的方式

    今天很开心的收获: ItemsControl 中 ItemsPanel的重定义和 ItemContainerStyle 以及 ItemTemplate 三者的巧妙结合,在后台代码不实例化任何控件的前提 ...

  2. jQuery对象和DOM对象之间的相互转换

    DOM对象:DOM(Document Object Model,文档对象模型),每一份DOM都可以表示成为一棵树,DOM对象可以使用javascript中的方法. jQuery对象:jQuery对象就 ...

  3. LightOJ1191 Bar Codes(DP)

    题目大概是,二进制数可以看作是由几段连续的0和连续的1组成,问:n位没有前导0的 且 共用k段连续0/1组成的 且 连续0/1个数不超过m的二进制数有多少个. 用dp[n][k][m]表示问题 dp[ ...

  4. HDU 4405 期望DP

    期望DP算是第一题吧...虽然巨水但把思路理理清楚总是好的.. 题意:在一个1×n的格子上掷色子,从0点出发,掷了多少前进几步,同时有些格点直接相连,即若a,b相连,当落到a点时直接飞向b点.求走到n ...

  5. VSPM虚拟串口使用

    (1)打开虚拟串口工具,当你设置好你程序中的串口信息后,打开程序中的串口,然后虚拟串口中所显示的就是程序的所提供的串口信息 (2)选中其中一个串口,修改管理信息,点击”重新连接“ , 直接在管理那里, ...

  6. 理解with(nolock)(转载)

    本文导读:要 提升SQL的查询效能,一般来说大家会以建立索引(index)为第一考虑.其实除了index的建立之外,当我们在下SQL Command时,在语法中加一段WITH (NOLOCK)可以改善 ...

  7. SQL Server 中 with tmp 临时表的用法

    SQL Server 中 with tmp 临时表的用法 ----------with临时表用法,有时候采用临时表比采用in的效率更高,避免了全表扫描. 实例中实现了查询普通题.大题.子题目的sql ...

  8. FreeMarker教程

    一.什么是模板引擎,为什么要用模板引擎 在B/S程式设计中,常常有美工和程序员二个角色,他们具有不同专业技能:美工专注于表现——创建页面.风格.布局.效果等等可视元素:而程序员则忙于创建程式的商业流程 ...

  9. [FollowUp] Combinations 组合项

    这是Combinations 组合项 的延伸,在这里,我们允许不同的顺序出现,那么新的题目要求如下: Given two integers n and k, return all possible c ...

  10. MHA监控进程异常退出

    这两天遇到一个非常诡异的问题,打算和大家分享一下.只所以诡异估计是自己知识面不够吧.线上的MHA一直没有开启自动切换,都是手动切换的,最近开启了自动切换以后,退出securecrt窗口以后发现监控进程 ...