博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Microsoft AjaxToolkits之8. Accordion 控件
阅读量:6368 次
发布时间:2019-06-23

本文共 3863 字,大约阅读时间需要 12 分钟。

Accordion控件一般用在内容比较多的页面上,功能类似于TAB选项卡,将一组功能相似任务相同的内容放在不同的选项卡下。然后通过选项卡的Header实现各组内容查看。

属性列表:

SelectedIndex:已伸展开的AccordionPane控件的索引号。
HeaderCssClass:作用于标题的CSS类名。它也可以指定给Accordion 控件的HeaderCssClass属性以此作为所有AccordionPanes控件的默认属性,或者直接指定给单独AccordionPane控件的HeaderCssClass属性。
ContentCssClass:用于显示内容的CSS类名。它也可以指定给Accordion 控件的ContentCssClass属性以此作为所有AccordionPanes控件的默认属性,或者直接指定给单独AccordionPane控件的ContentCssClass属性。
AutoSize: 设计控件中Panel的显示方式,主要有3种,即None(无限制的拉伸和收缩),Limit(限制内容的高度),Fill(内容高度与控件本身高度一样)。
FadeTransitions:为True时为渐变效果(在伸缩时颜色变淡,伸缩完后颜色恢复正常),为false时是标准变换。
TransitionDuration:在选择某一标题后伸展和收缩过渡动画所持续的时间,单位为毫秒。
FramesPerSecond:用于伸展和收缩过渡动画每秒所需要的帧数。
AutoSize:用于限制Accordion控件展开的高度. AutoSize枚举类型取值在简介中已作过描述。
Panes:AccordionPane控件的集合。
HeaderTemplate:标题模版,其中包含的标记用于进行数据绑定来显示面版标题。
ContentTemplate:内容模版,其中包含的标记用于进行数据绑来显示面版内容。
DataSource:指定数据源,必须要调用DataBind()方法进行数据绑定。
DataSourceID:用数据源的ID来指定一个数据源。
DataMember:当使用DataSourceID 来指定数据源时用于绑定的成员。

实例解析一、实现静态导航菜单的实例(并页面无刷新)

核心技术:
界面无刷新
OnItemCommand="Accordion1_ItemCommand"

1.前台UI

<head runat="server">
<title>无标题页</title>
<style>
.header
{
background-color:gray;
height:25px;
widht:205px;
border-right:#99ccff thin solid;
border-top:#9ccff thin solid;
border-left:#9ccff thin solid;
border-botton:#9ccff thin solid;
}
.content
{
background-color:#ccccff;
height:30px;
width:205px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
</div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Label ID="lab" runat="server" Text=""></asp:Label>
<cc1:Accordion ID="Accordion1" runat="server" ContentCssClass="content" HeaderCssClass="header" AutoSize="None" Width="300px" Height="150px" OnItemCommand="Accordion1_ItemCommand">
<Panes>
<cc1:AccordionPane ID="AccordionPane1" runat="server">
<Header><a href="">属性介绍一</a></Header>
<Content>
HeaderCssClass:作用于标题的CSS类名。它也可以指定给Accordion 控件的HeaderCssClass属性以此作为所有AccordionPanes控件的默认属性,或者直接指定给单独AccordionPane控件的HeaderCssClass属性。
</Content>
</cc1:AccordionPane>
</Panes>
<Panes>
<cc1:AccordionPane ID="AccordionPane2" runat="server">
<Header><a href="">属性介绍二</a></Header>
<Content>
DataMember:当使用DataSourceID 来指定数据源时用于绑定的成员。<br />
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="link" CommandArgument="单击外部获得此数据">单击外部获得此数据</asp:LinkButton>
</Content>
</cc1:AccordionPane>
</Panes>
</cc1:Accordion>
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>

2.后台

protected void Accordion1_ItemCommand(object sender, CommandEventArgs e)
{
lab.Text = e.CommandArgument.ToString();
}

实例解析二、实现动态导航菜单的实例(并页面无刷新)
核心技术:
界面无刷新
OnItemCommand="Accordion1_ItemCommand"
SqlDataSource

<form id="form1" runat="server">

<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
</div>
&nbsp;
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Label ID="lab" runat="server" Text=""></asp:Label>
<cc1:Accordion ID="Accordion1" runat="server" ContentCssClass="content" HeaderCssClass="header" AutoSize="None" Width="300px" Height="150px" OnItemCommand="Accordion1_ItemCommand" DataSourceID="SqlDataSource1">
<HeaderTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" Text='<%# Bind("UserName")%>'></asp:LinkButton>
</HeaderTemplate>
<ContentTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" Text='<%# Bind("UserAddress")%>'></asp:LinkButton>
</ContentTemplate>
</cc1:Accordion>
</ContentTemplate>
</asp:UpdatePanel>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:db_04ConnectionString %>"
SelectCommand="SELECT [UserName], [UserAddress], [UserID] FROM [tb_Employee]"></asp:SqlDataSource>
</form>

实例解析二、动态添加导航菜单项的实例

核心技术:
AccordionPane pane = new AccordionPane();
....
pane.HeaderContainer.Controls.Add(LinkButton..);
pane.ContentContainer.Controls.Add(...);
....
Accordion1.Panes.Add(pane);

转载地址:http://ckrma.baihongyu.com/

你可能感兴趣的文章
Oracle存储过程中的数据集输入参数
查看>>
vsftp 配置
查看>>
VCSA中配置时间和时区,实测至6.5适用
查看>>
高并发IM系统架构优化实践
查看>>
产品经理教你玩转阿里云负载均衡SLB系列(一):快速入门--什么是负载均衡
查看>>
有关linux--进程组、会话、守护进程详解
查看>>
我的友情链接
查看>>
monkeyrunner运行Python脚本来检查apk渠道和验证是否可以调用微信
查看>>
github获得SSH Key解决Permission denied (publickey)问题
查看>>
用java代码编写Oracle存储过程
查看>>
APACHE转发
查看>>
android-market-api
查看>>
解決 yum update錯誤:[Errno -1] Metadata file does not match checksum
查看>>
ASP.NET(C#)Excel导入Dataset的出现数据值丢失问题
查看>>
我的友情链接
查看>>
『Data Science』R语言学习笔记,获取数据
查看>>
rails中n秒页面自动跳转
查看>>
我的友情链接
查看>>
忘记root用户密码怎么办?
查看>>
esxi定时任务
查看>>