ASP.NET2.0 新增控制項-BulletedList

來源:互聯網
上載者:User
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屬於“中庸”路線,恰到好處的控制項,多一分則過火,少一分則不足。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.