ASP.NET中BulletedList列表控件使用及详解_基础应用

BulletedList 控件创建一个无序或有序(编号)的项列表,它们分别呈现为 HTML UL 或 OL 标记。可以指定项、项目符号或编号的外观,可以静态定义列表项或通过将控件绑定到数据来定义列表项,也可以在用户单击项时作出响应。

对于ASP.NET 1.x里要动态显示Bulledted List时,要么自己利用HTML的<ol>或<ul>元素构造,要么就是“杀鸡用牛刀”的动用Repeater来显示。前者过于死板,后者过于Overkill,也许微软听到这种声音,于是ASP.NET 2.0总算搞了个BulletedList出来了。这控件虽然给人不太多注意,但却看得出微软确实是在乎“用户需求”的。BulletedList控件的主要属性有BulletStyle、DisplayMode、Items和主要事件Click。

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等大写的罗马数字。

DisplayMode:顾名思义为显示模式,对应着System.Web.UI.WebControls.BulletedListDisplayMode枚举类型值。其共有以下三种选择项:

1. Text:表示以纯文本形式来表现项目列表。
2. HyperLink:表示以超链接形式来表现项目列表。链接文字为某个具体项ListItem的Text属性,链接目标为ListItem的Value属性。
3. LinkButton:表示以服务器控件LinkButton形式来表现项目列表。此时每个ListItem项都将表现为LinkButton,同时以Click事件回发到服务器端进行相应操作。

Items:该属性对应着System.Web.UI.WebControls.ListItem对象集合。项目符号编号列表中的每一个项均对应一个ListItem对象。ListItem对象有四个主要属性:
Enabled:该项是否处于激活状态。默认为True。
Selected:该项是否处于选定状态。默认为True。
Text:该项的显示文本。
Value:该项的值。
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>部分加个样式如下:

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

OK!横排成菜单模式了!

时间: 2024-12-01 05:45:12

ASP.NET中BulletedList列表控件使用及详解_基础应用的相关文章

ASP.NET 中 Button、LinkButton和ImageButton 三种控件的使用详解_基础应用

ASP.NET Framework包含三个用于向服务器端提交表单的控件:Button.LinkButton和ImageButton.这三个控件拥有同样的功能,但每种控件的外观界面不同. 本文就带着大家学习如何在页面中使用这三种控件.然后,学习如何关联客户端脚本和服务器端Button控件,以及如何使用Button控件把一个表单传到不是当前页的页面.最后,学习如何处理Button控件的Command事件. 一.使用Button控件 Button控件用来向服务器端提交表单的按钮.例如,代码清单1中的页

ASP.NET控件之RadioButtonList详解_实用技巧

"RadioButtonList"控件表示一个封装了一组单选按钮控件的列表控件.  可以使用两种类型的 ASP.NET 控件将单选按钮添加到网页上:各个"RadioButton"控件或一个"RadioButtonList"控件.这两类控件都允许用户从一小组互相排斥的预定义选项中进行选择.使用这些控件,可定义任意数目的带标签的单选按钮,并将它们水平或垂直排列.  命名空间:System.Web.UI.WebControls程序集:System.We

ASP.NET技巧:GridView控件自定义分页详解

asp.net|分页|技巧|控件|详解   前些天我写了关于 <<在存储过程中实现分页>>和<<GridView控件事件详解 >> ,后来又有一些人问我怎样在GridView中应用这个东东!其实很简单,主要是怎么保存当前页面的页码PageIndex问题,不过把这个解决了什么都好办了.因为在分页过程中:PageSize是一定的,我们可以用一个属性来表示.保存PageIndex好多中方法,而且数据不是很庞大,基本不会好太多的资源.还是一句老话,话再多都没有例子直

JavaScript编程中window的location与history对象详解_基础知识

Window Location window.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面. window.location 对象在编写时可不使用 window 这个前缀. 一些例子: 一些实例: location.hostname 返回 web 主机的域名 location.pathname 返回当前页面的路径和文件名 location.port 返回 web 主机的端口 (80 或 443) location.protocol 返回所使用的 web 协

ASP.Net中数据展示控件的嵌套使用示例_实用技巧

1,工作中遇到这样一个需求,页面上要把所有的User加载出来,同时每个User后面紧跟着要把User的任务加载出来!我的处理方法是用Repeater来加载所有的User,同时在Repeater里面嵌套一个GridView,将每个User的任务展示出来!代码如下 前台代码: <asp:Repeater ID="Repeater1" runat="server" onitemdatabound="Repeater1_ItemDataBound"

JavaScript中匿名函数的用法及优缺点详解_基础知识

匿名函数可以有效的保证在页面上写入Javascript,而不会造成全局变量的污染. 这在给一个不是很熟悉的页面增加Javascript时非常有效,也很优美. 一.什么是匿名函数? 在Javascript定义一个函数一般有如下三种方式: 函数关键字(function)语句: function fnMethodName(x){alert(x);} 函数字面量(Function Literals): var fnMethodName = function(x){alert(x);} Function(

asp.net中使用 Repeater控件拖拽实现排序并同步数据库字段排序_实用技巧

数据库表中有一个单位表,里面包括ID.Name.Order等字段,现在有个后台管理功能,可以设置这些单位在某些统计表格中的先后显示顺序,于是想到用拖拽方式实现,这样操作起来更简便. 使用了GifCam软件做了一个示例动画,效果如下图所示: 于是就动手起来,发现jquery.ui中提供sortable函数,可用于排序,界面中从数据库绑定的单位使用Repeater控件,下面简单介绍下主要步骤: 1.项目中使用到的jquery-1.7.2.min.js和jquery-ui.min.js请点击进行下载,

Asp.Net中使用Highcharts控件X轴的categories数据一多会被截断

问题描述 Asp.Net中使用Highcharts控件X轴的categories数据一多会被截断 xAxis: { tickmarkPlacement: ""on"" type: 'datetime' tickInterval: [<%=num %>] categories: [<%=lastModifyTime %>] } xAxis中 categories数据会被截断的问题怎么解决 解决方案 ASP.NET中通过WebService获取数

在ASP.NET中使用AdRotator控件(转)

asp.net|控件 在ASP.NET中使用AdRotator控件 通过使用ASP.NET携带的AdRotator服务器控件,ASP.NET中的广告可以随时显示出来.本文中,我们将看到两个例子,它们使用这个控件在一个页面上显示广告. 使用AdRotator服务器控件有以下几个步骤: 第一步 创建一个包含着广告细节的XML文件,比如说叫art008_ads.xml,它包含以下元素: ●ImageUrl-包含将被显示图象的URL,可以是绝对路径,也可以是相对于显示广告的页面的相对路径.●Naviga