`
ruilinruirui
  • 浏览: 1052099 次
文章分类
社区版块
存档分类
最新评论

ASP.NET2.0 新增控件-BulletedList

 
阅读更多

转自MS.Tech

BulletedList是一个让你轻松在页面上显示项目符号和编号格式(Bulledted List)的控件。对于ASP.NET 1.x里要动态显示Bulledted List时,要么自己利用HTML<ol><ul>元素构造,要么就是“杀鸡用牛刀”的动用Repeater来显示。前者过于死板,后者过于overkill,也许微软听到这种声音,于是ASP.NET 2.0总算搞了个BulletedList出来了。这控件虽然给人不太多注意,但却看得出微软确实是在乎“用户需求”的。BulletedList控件的主要属性有BulletStyleDisplayModeItems和主要事件Click

l BulletStyle:项目符号编号样式值,对应着System.Web.UI.WebControls.BulletStyle枚举类型值。其共有以下10种选择项:

1. Circle:表示项目符号编号样式设置为“○”空圈圈。

2. CustomImage:表示项目符号编号样式设置为自定义图片,其图片由BulletImageUrl属性指定。

3. Disc:表示项目符号编号样式设置为“●”实圈圈。

4. LowerAlpha:表示项目符号编号样式设置为小写字母格式。如abcd26个小写英文字母。

5. LowerRoman:表示项目符号编号样式设置为小写罗马数字格式。如iiiiiiiv等小写的罗马数字。

6. NotSet:表示不设置项目符号编号样式。此时将以Disc样式为默认样式显示。

7. Numbered:表示设置项目符号编号样式为数字格式。如1234等数字格式。

8. Square:表示设置项目符号编号样式为“■”实体黑方块。

9. UpperAlpha:表示设置项目符号编号样式为大写字母格式。如ABCD26个大写英文字母。

10. UpperRoman:表示设置项目符号编号样式为大写罗马数字格式。如IIIIIIIV等大写的罗马数字。

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

1. Text:表示以纯文本形式来表现项目列表。

2. HyperLink:表示以超链接形式来表现项目列表。链接文字为某个具体项ListItemText属性,链接目标为ListItemValue属性。

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在实际中的样子了。

<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype>

同样,下面以三种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来说,要繁琐点。XmlDataSourceSqlDataSource都属于新增的数据源控件,在后面会再作介绍。

假设一份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><place w:st="on"><placename w:st="on"><span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ASP.NET</span></placename><span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> <placename w:st="on">Dev</placename><placetype w:st="on">Center</placetype></span></place></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属于“中庸”路线,恰到好处的控件,多一分则过火,少一分则不足。

分享到:
评论

相关推荐

    ASP.NET 2.0+SQL Server 2005全程指南-源代码

    3.2 ASP.NET 2.0新增控件 3.2.1 BulletedList控件的应用 3.2.2 Substitution控件的应用 3.2.3 Wizard控件的应用 3.2.4 MultiView和View控件的应用 3.2.5 FileUpload控件的应用 3.3 其他常用控件 3.3.1 ...

    零基础学ASP.NET 2.0电子书&源代码绝对完整版1

    示例描述:本章演示ASP.NET 2.0网站的预编译以及学习ASP.NET 2.0的前置知识。 WebSite文件夹 创建的ASP.NET 2.0 Web站点。 www文件夹 第一个用C#开发的Web应用程序。 bianyi.bat 编译网站的批处理文件。 ...

    2.ASP.NET.2.0.高级编程(第4版) [1/7]

    ASP.NET 2.0新增了50多个新服务器控件,类的数量也翻了一倍,其他许多方面也有很大的变化。本书介绍了ASP.NET 2.0中的每个新增特性和功能,以便读者把这些新技术应用于实践。.. 本书主要内容 ● 服务器控件的...

    零基础学ASP.NET 2.0&源代码绝对完整版1

    示例描述:本章演示ASP.NET 2.0网站的预编译以及学习ASP.NET 2.0的前置知识。 WebSite文件夹 创建的ASP.NET 2.0 Web站点。 www文件夹 第一个用C#开发的Web应用程序。 bianyi.bat 编译网站的批处理文件。 form...

    ASP.NET2.0高级编程(第4版)1/6

    本书全面介绍了ASP.NET各种编程技能和2.0版中的巨大变化,并详细阐述了2.0版中的每个新特性。书中提供了大量的实例,可帮助读者快速掌握如何在.NET平台下开发功能强大的ASP.NET应用程序。本书适合有一些基础的ASP...

    ASP.NET 3.5 开发大全11-15

    1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET应用程序需框架 1.2.1 什么是.NET应用程序框架 1.2.2 公共语言运行时(CLR) 1.2.3 .NET Framework 类库 1.3 安装Visual Studio 2008 1.3.1 安装Visual ...

    ASP.NET 3.5 开发大全1-5

    1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET应用程序需框架 1.2.1 什么是.NET应用程序框架 1.2.2 公共语言运行时(CLR) 1.2.3 .NET Framework 类库 1.3 安装Visual Studio 2008 1.3.1 安装Visual ...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    1.2.2 ASP.NET2.0 1.2.3 ASP.NET3.5 1.2.4 ASP.NET4 1.2.5 Silverlight 1.3 总结 第2章 Visual Studio 2.1 Visual Studio 2.1.1 网站和Web项目 2.1.2 创建无项目文件的网站 2.1.3 设计网页 2.2...

    ASP.NET3.5从入门到精通

    1.1.5 ASP.NET 3.5 新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET 应用程序需框架 1.2.1 什么是.NET 应用程序框架 1.2.2 公共语言运行时(CLR) 1.2.3 .NET Framework 类库 1.3 安装Visual Studio 2008 1.3.1 安装...

    ASP.NET 3.5 开发大全

    1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET应用程序需框架 1.2.1 什么是.NET应用程序框架 1.2.2 公共语言运行时(CLR) 1.2.3 .NET Framework 类库 1.3 安装Visual Studio 2008 1.3.1 安装Visual ...

    ASP.NET 3.5 开发大全word课件

    1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET应用程序需框架 1.2.1 什么是.NET应用程序框架 1.2.2 公共语言运行时(CLR) 1.2.3 .NET Framework 类库 1.3 安装Visual Studio 2008 1.3.1 安装Visual ...

    ASP.NET4高级程序设计(第4版) 3/3

    1.2.2 ASP.NET2.0 9 1.2.3 ASP.NET3.5 10 1.2.4 ASP.NET4 12 1.2.5 Silverlight 14 1.3 总结 15 第2章 Visual Studio 16 2.1 Visual Studio 16 2.1.1 网站和Web项目 17 2.1.2 创建无项目文件的...

    ASPNET35开发大全第一章

    1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET应用程序需框架 1.2.1 什么是.NET应用程序框架 1.2.2 公共语言运行时(CLR) 1.2.3 .NET Framework 类库 1.3 安装Visual Studio 2008 1.3.1 安装Visual ...

    C#编程经验技巧宝典

    111 &lt;br&gt;0184 如何在ASP.NET中获取文件的扩展名 111 &lt;br&gt;0185 如何在ASP.NET中用URL在页面之间传值 112 &lt;br&gt;0186 如何使用IsPostBack实现ASP.NET页面加载 112 &lt;br&gt;0187 如何利用输出缓存技术缓存...

Global site tag (gtag.js) - Google Analytics