ASP.NET2.0 新增控件-BulletedList

asp.net|控件

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属于“中庸”路线,恰到好处的控件,多一分则过火,少一分则不足。

时间: 2024-09-27 18:37:54

ASP.NET2.0 新增控件-BulletedList的相关文章

ASP.NET2.0 新增控件-ImageMap

asp.net|控件 ImageMap控件是一个让你可以在图片上定义热点(HotSpot)区域的服务器控件.用户可以通过点击这些热点区域进行回发(PostBack)操作或者定向(Navigate)到某个URL位址.该控件一般用在需要对某张图片的局部范围进行互动操作时,其主要属性有HotSpotMode.HotSpots和主要操作Click.?        HotSpotMode:顾名思义为热点模式,对应枚举类型System.Web.UI.WebControls.HotSpotMode.其选项及

【开源】QuickPager ASP.NET2.0分页控件V2.0.0.3 【增加了使用说明】

================================ 欢迎转载,但是请注明出处.本文出自博客园 .谢谢合作! ================================   最新版本:V2.0.0.7 .http://www.cnblogs.com/jyk/archive/2008/07/28/1255101.html 下载:http://www.cnblogs.com/jyk/archive/2008/07/29/1255891.html   ================

ASP.NET2.0组件控件开发视频 初体验

原文:ASP.NET2.0组件控件开发视频 初体验                               ASP.NET2.0组件控件开发视频 初体验        录了视频,质量不是很好,大家体验下.我会重新录制的 如果不清楚,可以看看http://v.youku.com/v_show/id_XNDg0MTAxNjA=.html   系列文章链接: ASP.NET自定义控件组件开发 第一章 待续 ASP.NET自定义控件组件开发 第一章 第二篇 接着待续 ASP.NET自定义控件组件开发

【开源】我的分页控件正式命名为QuickPager ASP.NET2.0分页控件

分页控件正式命名为 QuickPager ASP.NET2.0分页控件 . 版本号:2.0.0.1 Framework:.net2.0 分页方式:PostBack .URL (暂时没有实现URL的分页方式) webform  (b/s) 支持多种数据库,分页算法,提取数据的方式都可以替换.     分页,自从做b/s的项目起,就和分页打起了交到,一开始使用UserControl来做,很粗糙,也没有什么性能可言.但是分页又是不可避免的,一次提取全部的数据,咱用的资源太多,吃不消.于是乎就在不断的想

ASP.NET2.0 HiddenField控件

asp.net|控件    HiddenField控件顾名思义就是隐藏输入框的服务器控件,它能让你保存那些不需要显示在页面上的且对安全性要求不高的数据.也许这个时候应该有这么一个疑问,为什么有了ViewState.Session和Cookie等状态保存机制,还需要用起HiddenField呢?增加HiddenField,其实是为了让整个状态管理机制的应用程度更加全面.因为不管是ViewState.Cookie还是Session,都有其失效的时候,比如用户因某种需求要求设置ViewState为fa

【开源】QuickPager ASP.NET2.0分页控件V2.0.0.1——支持多种数据库。让分页更加简单。

分页控件的源代码下载网址:http://www.cnblogs.com/jyk/archive/2008/04/25/1170979.html (在网页的下面) 下载文件里面由一个测试网页:http://localhost:5561/test/Testlist.aspx?fid=1 请注意后面的参数. 在webconfig里面修改连接字符串和数据库类型.DataType ---- 1: MS SQL ;2:Oledb:3:ODBC.   <appSettings>    <add key

ASP.NET2.0登陆控件的使用(常见的三种方法)

asp.net|控件   这里以CreateUserWizard 为例说明注册用户向导的常规使用1)使用默认的向导控件功能  默认的注册向导的使用向导的简单,简单到如下只要一句话代码的地步:  <asp:CreateUserWizard ID="CreateUserWizardControl" runat="server"/>无需要额外的代码就能够完成用户的注册,将注册的信息写入ASPNETDB.MDF数据库. 2)使用默认ID  一些不安分的用户开始不

ASP.NET2.0登陆控件常见的三种使用方法

这里以CreateUserWizard 为例说明注册用户向导的常规使用 1)使用默认的向导控件功能 默认的注册向导的使用向导的简单,简单到如下只要一句话代码的地步: <asp:CreateUserWizard ID="CreateUserWizardControl" runat="server"/> 无需要额外的代码就能够完成用户的注册,将注册的信息写入ASPNETDB.MDF 数据库. 2)使用默认ID 一些不安分的用户开始不满足上面的功能:虽然简单,

【开源】QuickPager ASP.NET2.0分页控件V2.0.0.7 增加了一个js函数的分页方式。

       昨天在csdn上看到一个人提出来了一种分页的需求,大致是分页控件只负责绘制总页数.上一页.下一页等信息,然后在用户翻页的时候可以触发一个js函数,然后自己实现这个js函数.并不需要提交表单,他想用ajax的方式来获取数据,但是又不想使用微软的ajax.        大概的需求就是这样的(至少我的理解是这样的),不知道吴旗娃的分页控件是不是支持这种需求.不过我的分页控件还没有涉及到ajax,原因是我还不会用ajax,那么是不是可以先实现这种需求呢?想了一下,比较简单,只要继承Pag