The
Accordion is a web control that allows you to provide multiple panes and
display them one at a time. It is like having severalCollapsiblePanels where only one can be expanded
at a time.TheAccordion is implemented as a web control that contains
AccordionPane web controls. Each AccordionPane control has a template for its
Header and its Content. We keep track of the selected paneso it stays visible
across postbacks.
It
also supports three AutoSize modes so it can fit in a variety of layouts.
None - The Accordion
grows/shrinks without restriction. This can cause other elements on your page
to move up and down with it.
Limit - The Accordion never grows
larger than the value specified by its Height property. This will cause the
content to scroll if it is too large to be displayed.
Fill - The Accordion always stays
the exact same size as its Height property. This will cause the content to be
expanded or shrunk if it isn't the right size.
The
Accordion is written using an extender like most of the other extenders in the
AJAX Control Toolkit. The extender expects its input in a very specific
hierarchy of container elements (like divs), so the Accordion and AccordionPane
web controls are used to generate the expected input for the extender. The
extender can also be used on its own if you provide it appropriate input.
The Accordion can also be databound. Simply specify a data source through
the DataSource or DataSourceID properties and then set your
data items in the HeaderTemplate and ContentTemplate properties.
Accordion
Properties
The
control above is initialized with this code. The italic properties are
<ajaxToolkit:Accordion
ID="MyAccordion" runat="Server"
SelectedIndex="0" HeaderCssClass="accordionHeader"
HeaderSelectedCssClass="accordionHeaderSelected"
ContentCssClass="accordionContent"
AutoSize="None"
FadeTransitions="true" TransitionDuration="250"
FramesPerSecond="40" RequireOpenedPane="false"
SuppressHeaderPostbacks="true">
<Panes>
<ajaxToolkit:AccordionPane
HeaderCssClass="accordionHeader"
HeaderSelectedCssClass="accordionHeader
Selected"
ContentCssClass="accordionContent">
<Header> . . .
</Header>
<Content> . . .
</Content>
</ajaxToolkit:AccordionPane>
.
.
.
</Panes>
<HeaderTemplate>...</HeaderTemplate>
<ContentTemplate>...</ContentTemplate>
</ajaxToolkit:Accordion>
SelectedIndex - The AccordionPane to be
initially visible
HeaderCssClass - Name of the CSS class to
use for the headers. This can be either applied to the Accordion as a default
for all AccordionPanes, or an individual AccordionPane.
HeaderSelectedCssClass - Name of the CSS class to
use for the selected header. This can be either applied to the Accordion as a
default for all AccordionPanes, or an individual AccordionPane.
ContentCssClass - Name of the CSS class to
use for the content. This can be either applied to the Accordion as a default
for all AccordionPanes, or an individual AccordionPane.
FadeTransitions - True to use the fading
transition effect, false for standard transitions.
TransitionDuration - Number of milliseconds to
animate the transitions
FramesPerSecond - Number of frames per
second used in the transition animations
AutoSize - Restrict the growth of the
Accordion. The values of the AutoSize enumeration are described above.
RequireOpenedPane - Prevent closing the
currently opened pane when its header is clicked (which ensures one pane is
always open). The default value is true.
SuppressHeaderPostbacks - Prevent the client-side
click handlers of elements inside a header from firing (this is especially
useful when you want to include hyperlinks in your headers for accessibility)
Panes - Collection of AccordionPane
controls
HeaderTemplate - The Header template
contains the markup that should be used for an pane's header when databinding
ContentTemplate - The Content template
contains the markup that should be used for a pane's content when databinding
DataSource - The data source to use.
DataBind() must be called.
DataSourceID - The ID of the data source
to use.
DataMember - The member to bind to when
using a
The
Accordion is a web control that allows you to provide multiple panesand display
them one at a time. It is like having several CollapsiblePanels where only one
can be expanded at a time. The Accordion is implemented as a web control that
contains AccordionPane web controls. Each AccordionPane control has a template
for its Header and its Content. We keep track of the selected pane so it stays
visible across postbacks.
Accordion.aspx:
<asp:Accordion
ID="Accordion1"
runat="server"
HeaderCssClass="accordianHead"
AutoSize="None"
SelectedIndex="0"
FadeTransitions="true">
<Panes>
<asp:AccordionPane ID="About" runat="server">
<Header><a>Aout</a></Header>
<Content>
<pre>
<Panes>
<asp:AccordionPane ID="About" runat="server">
<Header><a>Aout</a></Header>
<Content>
<pre>
First pane The Accordion is a web control that allows you to provide multiple panes and display them one at a time. It is like having several CollapsiblePanels where only one can be expanded at a time. The Accordion is implemented as a web control that contains AccordionPane web controls. Each AccordionPane control has a template for its Header and its Content. We keep track of the selected pane so it stays visible across postbacks.
</pre>
</Content>
</asp:AccordionPane>
<asp:AccordionPane ID="Code" runat="server">
<Header><a>Code</a></Header>
<Content>
<pre>
Second pane The Accordion is a web control that allows you to provide multiple panes and display them one at a time. It is like having several CollapsiblePanels where only one can be expanded at a time. The Accordion is implemented as a web control that contains AccordionPane web controls. Each AccordionPane control has a template for its Header and its Content. We keep track of the selected pane so it stays visible across postbacks.
</pre>
</Content>
</asp:AccordionPane>
<asp:AccordionPane ID="Resources" runat="server" >
<Header><a>Resources</a></Header>
<Content>
<pre> <ul><li><a href="http://www.asp.net/ajax/videos/how-do-i-use-the-aspnet-ajax-accordion-control"> A Small Vedio</a></li>
<li><a href="http://dotnetslackers.com/Community/blogs/kaushalparik/archive/2009/05/08/open-ajax-accordion-panes-on-mouseover.aspx">onHover Show Pane </a></li>
</ul></pre></Content>
</asp:AccordionPane>
</Panes>
</asp:Accordion>
No comments:
Post a Comment