我的思想是把数据动态的从数据库中取出来,然后绑到一个label中,再把这个label添加到accordion里面。
.aspx中的代码
<cc1:Accordion ID="Accordion1" runat="server" SelectedIndex="0"
HeaderCssClass="accordionHeader" HeaderSelectedCssClass="accordionHeaderSelected"
ContentCssClass="accordionContent" FadeTransitions="false" FramesPerSecond="40"
TransitionDuration="250" AutoSize="None" RequireOpenedPane="false" SuppressHeaderPostbacks="true" Width="500">
</cc1:Accordion>
.cs代码
string sql = "select * from Activities";
DataSet ds = new DataSet();
ds = SqlHelper.GetDataSet(sql, "Table1", null);
Accordion1.DataSource = ds;
Accordion1.DataBind();
if(ds.Tables[0].Rows.Count>0)
{
int i=0;
foreach (DataRow dr in ds.Tables[0].Rows)
{
string title = Convert.ToString(dr["ActiveTitle"]);
string content = Convert.ToString(dr["ActiveBrief"]);
Label lb1 = new Label();
lb1.ID = "lbl"+i.ToString();
lb1.Text = title;
Label lbl2 = new Label();
lbl2.ID = "lbl" + i.ToString()+i.ToString();
lbl2.Text = content;
AjaxControlToolkit.AccordionPane p = new AjaxControlToolkit.AccordionPane();
p.ID = "accordionPane_"+i.ToString();
p.HeaderContainer.Controls.Add(lb1);
p.ContentContainer.Controls.Add(lbl2);
p.HeaderCssClass = "";
Accordion1.Panes.Add(p);
i++;
}
}
附上其属性值:摘自别人的博客
表10-2 声明Accordion控件时的常用属性标签
属性标签名 | 描 述 |
SelectedIndex | 该控件初次加载时展开的AccordionPane面板的索引值 |
HeaderCssClass | 该Accordion中包含的所有AccordionPane面板的标题区域所应用的CSS Class |
ContentCssClass | 该Accordion中包含的所有AccordionPane面板的内容区域所应用的CSS Class |
AutoSize | 在展开具有不同高度的AccordionPane面板时,该Accordion的总高度的变化方式。可选如下3个值: r None:该Accordion将随着当前展开的AccordionPane面板的高度自由伸长/缩短 r Limit:该Accordion将随着当前展开的AccordionPane面板的高度自由伸长/缩短,不过最高不会超过Accordion的Height属性设定值。若是其内容高度超过了Height属性设定值,则将自动显示滚动条 r Fill:该Accordion的高度将固定为Height属性的设定值,不随当前展开的不同高度的AccordionPane面板而变化。若是某个AccordionPane的内容高度超过了Height属性设定值,则将自动显示滚动条 |
FadeTransitions | 若该属性值设置为true,则在切换当前展开的AccordionPane面板时,将带有淡入淡出效果 |
TransitionDuration | 展开/折叠一个AccordionPane面板的过程所花费的时间,单位为毫秒 |
FramesPerSecond | 播放展开/折叠AccordionPane面板动画的每秒钟帧数 |
DataSourceID | 页面中某个DataSource控件的ID,用于通过数据绑定自动生成AccordionPane面板 |
<Panes> | 该标签内将包含一系列的<ajaxToolkit:AccordionPane>标签,即Accordion- Pane的声明,用来表示Accordion中包含的面板 |
<HeaderTemplate> | 在使用数据绑定功能自动生成AccordionPane面板时,该标签内将定义每个面板的标题区域中的内容模板 |
<ContentTemplate> | 在使用数据绑定功能自动生成AccordionPane面板时,该标签内将定义每个面板的正文区域中的内容模板 |