拙人新书《ASP.NET3.5前沿技术与实战案例精粹》上架,有问题的读者请到本页面论坛处提出。对此不便(需要先在IT168注册),表示真诚的歉意!

AJAX Control Toolkit中的Accordion扩展器编程(简介)

上一篇 / 下一篇  2008-10-13 19:27:41 / 个人分类:ASP.NET AJAX

AJAX Control Toolkit中的Accordion扩展器编程(简介)

原作  朱先忠    版权所有


无论在桌面软件还是在Web软件中,折叠面板都得到广泛的应用。为此,ASP.NET Control Toolkit中也当仁不让地引入了一个叫做Accordion的扩展器控件。在本系列小文章中,我将向你介绍这个扩展器控件的使用细节,并给出相应的应用实例。


关于可折叠面板


可折叠面板有什么优点?众说纷纭。但归纳来看,不外乎两点:节约界面空间;美化程序界面。这种类型的控件在现代软件中得到广泛应用并得到广大开发人员的青睐,从大型软件桌面开发环境到各类网站程序几乎无处不在,图1展示了Windows网上邻居“属性”对话框左侧典型的可折叠面板应用。对于普通用户来说,这种界面给人以层次清晰、亲切自然的感觉。

1 Windows网上邻居“属性”对话框左侧典型的可折叠面板应用


Accordion扩展器控件简介

典型情况下,Accordion扩展器控件应用于内容比较多的页面上,功能类似于Tab选项卡,将一组功能相似、任务相同的内容放在不同的选项卡下,然后通过选择选项卡的头部标签进而查看各组内容。Accordion的属性非常复杂,使用语法格式如例程1所示。

例程1 Accordion控件典型的使用语法格式

<ajaxToolkit:Accordion ID="Accordion1" runat="server"

 ContentCssClass="accordionContent"

 HeaderCssClass="accordionHeader"

 FramesPerSecond="40"

 TransitionDuration="250"

 AutoSize="None" Width="300px" Height="150px"

 OnItemCommand="Accordion1_ItemCommand" FadeTransitions="true" HeaderSelectedCssClass="accordionHeaderSelected" SuppressHeaderPostbacks="True" BorderColor="Blue" BorderStyle="Double" BorderWidth="2px">

 <Panes>

   <ajaxToolkit:AccordionPane ID="AccordionPane1"  runat="server" ContentCssClass="" HeaderCssClass="" >

   <Header>

   <a href ="" class="accordionLink">网络任务</a>

   </Header>

   <Content>

   <asp:LinkButton ID="linkbtn1" runat="server" CommandName="link" CommandArgument="创建一个新的链接" >创建一个新的链接</asp:LinkButton><br />

   <asp:LinkButton ID="LinkButton1" runat="server" CommandName="link" CommandArgument="设置家庭或小型办公网络">设置家庭或小型办公网络</asp:LinkButton><br />

   <asp:LinkButton ID="LinkButton2" runat="server" CommandName="link" CommandArgument="更改Windows防火墙设置">更改Windows防火墙设置</asp:LinkButton><br />

</Content>

   </ajaxToolkit:AccordionPane >

    <ajaxToolkit:AccordionPane ID="AccordionPane2" ContentCssClass="" HeaderCssClass="" runat="server">

   <Header>

   <a href ="" class="accordionLink">相关主题</a>

   </Header>

   <Content>

   <asp:LinkButton ID="LinkButton8" runat="server" CommandName="link" CommandArgument="网络疑问解决程序">网络疑问解决程序</asp:LinkButton><br />

</Content>

   </ajaxToolkit:AccordionPane >

    <ajaxToolkit:AccordionPane ID="AccordionPane3" ContentCssClass="" HeaderCssClass="" runat="server">

   <Header>

   <a href ="" class="accordionLink">其它位置</a>

</Header>

   <Content>

    <asp:LinkButton ID="LinkButton9" runat="server" CommandName="link" CommandArgument="控制面板">控制面板</asp:LinkButton><br />

   <asp:LinkButton ID="LinkButton10" runat="server" CommandName="link" CommandArgument="网上邻居">网上邻居</asp:LinkButton><br />

   <asp:LinkButton ID="LinkButton11" runat="server" CommandName="link" CommandArgument="我的文档">我的文档</asp:LinkButton><br />

   <asp:LinkButton ID="LinkButton12" runat="server" CommandName="link" CommandArgument="我的电脑">我的电脑</asp:LinkButton><br />

</Content>

   </ajaxToolkit:AccordionPane >

    <ajaxToolkit:AccordionPane ID="AccordionPane4" ContentCssClass="" HeaderCssClass="" runat="server">

   <Header>

   <a href ="" class="accordionLink">详细信息</a>

</Header>

   <Content>

    <asp:LinkButton ID="LinkButton13" runat="server" CommandName="link" CommandArgument="网络连接">网络连接</asp:LinkButton><br />

   <asp:LinkButton ID="LinkButton14" runat="server" CommandName="link" CommandArgument="系统文件夹">系统文件夹</asp:LinkButton><br />

</Content>

   </ajaxToolkit:AccordionPane >

   <ajaxToolkit:AccordionPane ID="AccordionPane5" runat="server" ContentCssClass="" HeaderCssClass="">

   <Header>

   <a href ="" class="accordionLink">Hello World</a>

</Header>

   <Content>

       The Accordion always stays the exact same size as its Height property. <br />This

               will cause the content to be expanded or shrunk if it isn't the right size.

</Content>

   </ajaxToolkit:AccordionPane>

</Panes>

</ajaxToolkit:Accordion>

现在,我们以表格的形式对Accordion控件的常用属性作出解释,详见表格1

1Accordion控件常用属性解释

Accordion控件常用属性

属性含义

SelectedIndex

由于Accordion中可以设计包含多个面板(Pane),此属性用来判断当前选择的是哪个面板。

HeaderCssClass

Pane或者整个菜单的Header所应用的CSS定义。

ContentCssClass

Pane或者整个菜单的Content所应用的CSS定义。

Autosize

其中None表示Accordion的内容可以被无限制地拉伸和收缩,这可能破坏页面上其他内容的布局。

Limit表示通过AccordionHeight属性限制其内容的高度,如果内容超出被限高度,则出现滚动条。当可折叠控件的内容长度差异过大时,在使用这种模式时必须选择一个适合的Height值,以避免用户操作滚动条的次数过多。

Fill表示内容的高度会和AccordionHeight设置的高度一致,但当内容高度超过AccordionHeight时,内容页按自己的高度显示。

FadeTransitions

指定展开AccordionPane面板时是否使用淡入淡出特效。若该属性被置为true,则在切换当前展开的AccordionPane面板时,将带有淡入淡出的动画效果。

TransitionDuration

指定展开/折叠AccordionPane面板耗费的时间间隔,单位为毫秒。

FramesPerSecond

表示展开/折叠AccordionPane面板的动画速度(帧/秒)。

Panes

此属性下将包含一系列的AccordionPane控件,相应于Accordion中所包含的面板。

HeaderTemplate

Accordion的标题模板。

ContentTemplate

Accordion的内容模板。

DataSource

绑定的数据源。使用此属性后,必须使用DataBind()方法来绑定数据源。

DataSourcelD

绑定的数据源控件的ID

DataMember

绑定数据源中的字段。

在此,AccordionPane代表了Accordion控件中的具体内容。在设计界面时,必须在AccordionPane内指明HeaderContent才能正确显示菜单项内容。

与其父控件Accordion一样,AccordionPane也有两个属性,即HeaderCssClassContentCssClass。如果此控件没有定义这两个属性,则其样式的配置来自Accordion控件内的这两个属性,否则Accordion控件的设置对此控件无效,它使用自己定义的样式。

AccordionPane内有两个模板,即HeaderContent,其中Header用来显示子面板Pane的标题,适合用户选择使用,Content模板加载的是此Pane的内容,可以是任意类型的控件。


在接下来的文章中,我们将通过一个简单的示例程序来向你展示如何把静态现成的数据绑定到Accordion扩展器控件上。



TAG: ajax control toolkit accordion accordionpane

引用 删除 Guest   /   2009-08-14 11:31:31
5
引用 删除 Guest   /   2009-07-20 15:57:41
5
引用 删除 Guest   /   2009-07-20 09:33:06
5
引用 删除 Guest   /   2009-04-26 18:05:09
1
引用 删除 Guest   /   2009-03-19 17:24:05
5
引用 删除 ajax新手   /   2009-02-13 11:16:45
非常好的文章
引用 删除 s   /   2008-10-27 10:08:39
hHh
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2012-02-10  
   1234
567891011
12131415161718
19202122232425
26272829   

数据统计

  • 访问量: 176810
  • 日志数: 479
  • 图片数: 2
  • 文件数: 39
  • 书签数: 74
  • 建立时间: 2008-06-11
  • 更新时间: 2012-01-18

RSS订阅

Open Toolbar