ASP.NET中BulletedList列表控件使用及详解

 更新时间:2016年04月15日 09:46:56   作者:huangqing  
本文主要介绍了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显示如下:

ASP.NET 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!横排成菜单模式了!

相关文章

  • 页面包含的处理

    页面包含的处理

    页面包含的处理...
    2006-08-08
  • ASP.NET Core中的Razor页面使用视图组件

    ASP.NET Core中的Razor页面使用视图组件

    这篇文章介绍了ASP.NET Core中的Razor页面使用视图组件的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • 利用C#远程存取Access数据库

    利用C#远程存取Access数据库

    目前,基于数据库服务器的桌面管理程序和Web程序已经有太多的应用了,尤其是网络的大量普及,孤立地数据库管理系统无法胜任分布式管理应用,但是面对基于Access数据库的现有的桌面应用我们也无法完全的摒弃。我们利用.Net 远程处理功能将连接和存取Access的行为封装为一个远程对象,供网络中其它客户端通过调用该远程对象来存取实际的Access数据库。我们以 C# 2005 为开发语言来实现上述功能。
    2008-04-04
  • ASP.Net页面生命周期与Page_Load方法的工作原理介绍

    ASP.Net页面生命周期与Page_Load方法的工作原理介绍

    这篇文章介绍了ASP.Net页面生命周期与Page_Load方法的工作原理,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • ASP.NET Core中间件用法与官方常用中间件介绍

    ASP.NET Core中间件用法与官方常用中间件介绍

    这篇文章介绍了ASP.NET Core中间件用法与官方常用中间件,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • .net core中的System.Buffers命名空间

    .net core中的System.Buffers命名空间

    这篇文章介绍了.net core中的System.Buffers命名空间,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • 读取TXT文件内容的方法

    读取TXT文件内容的方法

    读取TXT文件内容的方法...
    2006-10-10
  • C#声明方法实例说明

    C#声明方法实例说明

    方法(Method)是一个已命名的语句集。如果以前使用过其他编程语言,如C或Visual Basic等,就可以将方法视为函数或者子程序相似的东西。每个方法都有一个名称和一个主体。方法名应该是一个有意义的标识符,它应描述出方法的用途(如CalculateIncomeTax)。方法主体包含了调用方法时实际执行的语句。你可以为大多数方法提供一些数据来进行处理,并让它返回一些信息(通常是处理结果)。方法是一种基本的、功能强大的编程机制。
    2008-04-04
  • ASP.NET HttpRequest类介绍

    ASP.NET HttpRequest类介绍

    本文详细讲解了ASP.NET HttpRequest类,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-01-01
  • ASP.NET缓存介绍

    ASP.NET缓存介绍

    缓存是在内存存储数据的一项技术,也是ASP.NET中提供的重要特性之一。例如你可以在复杂查询的时候缓存数据,这样后来的请求就不需要从数据库中取数据,而是直接从缓存中获取。通过使用缓存可以提高应用程序的性能
    2012-04-04

最新评论