当前位置: 移动技术网 > IT编程>开发语言>.net > ASP.NET中BulletedList列表控件使用及详解

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

2017年12月12日  | 移动技术网IT编程  | 我要评论

邹鸿成,淘宝分销,范安翔

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网