BulletedList是一個讓你輕鬆在頁面上顯示項目符號和編號格式(Bulledted List)的控件。對於ASP.NET 1.x裏要動態顯示Bulledted List時,要麼本身利用HTML的<ol>或<ul>元素構造,要麼就是「殺雞用牛刀」的動用Repeater來顯示。前者過於死板,後者過於overkill,也許微軟聽到這種聲音,因而ASP.NET 2.0總算搞了個BulletedList出來了。這控件雖然給人不太多注意,但卻看得出微軟確實是在意「用戶需求」的。BulletedList控件的主要屬性有BulletStyle、DisplayMode、Items和主要事件Click。css
l BulletStyle:項目符號編號樣式值,對應着System.Web.UI.WebControls.BulletStyle枚舉類型值。其共有如下10種選擇項:數據庫
1. Circle:表示項目符號編號樣式設置爲「○」空圈圈。服務器
2. CustomImage:表示項目符號編號樣式設置爲自定義圖片,其圖片由BulletImageUrl屬性指定。server
3. Disc:表示項目符號編號樣式設置爲「●」實圈圈。對象
4. LowerAlpha:表示項目符號編號樣式設置爲小寫字母格式。如a、b、c、d等26個小寫英文字母。索引
5. LowerRoman:表示項目符號編號樣式設置爲小寫羅馬數字格式。如i、ii、iii、iv等小寫的羅馬數字。事件
6. NotSet:表示不設置項目符號編號樣式。此時將以Disc樣式爲默認樣式顯示。圖片
7. Numbered:表示設置項目符號編號樣式爲數字格式。如一、二、三、4等數字格式。it
8. Square:表示設置項目符號編號樣式爲「■」實體黑方塊。io
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開始)做爲傳回參數傳回服務器端。
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>部分加個樣式以下:
<style type="text/css">
#stuff ul{list-style:none;margin:0px;}
#stuff ul li{float:left;margin:0 10px}
</style>
ok!橫排成菜單模式了!