Ajax Accordion - 在代码后面加载CSS。 ASPX

时间:2012-03-19 16:57:55

标签: asp.net ajax

我有手风琴数据绑定,但我不知道如何在后面的代码中加载CSS。我创建了一个名为Accordion的新CSS模板,并将其放在我的样式文件夹下。

这是我的CSS的全部内容

Header
    {
    background-color: #000000;
   color: White;
   padding: 4px;
   font-weight: bold;
}

.SelectedHeader
{
   background-color: #808080;
   color: White;
   padding: 4px;
   font-weight: bold;
}

.Contents
{
   background-color: #f3f3f3;
   padding: 5px;
}

这是我在代码背后的整个手风琴

AccordionPane currentPane = new AccordionPane();
            currentPane.ID = "AccordionPane" + Guid.NewGuid().ToString();
            currentPane.HeaderContainer.Controls.Add(new LiteralControl(group.Key.ToString()));

        NavigationAccordion.Panes.Add(currentPane);
        NavigationAccordion.HeaderCssClass = ".Header";
        NavigationAccordion.HeaderSelectedCssClass = ".SelectedHeader";
        NavigationAccordion.ContentCssClass = ".Contents";
        NavigationAccordion.TransitionDuration = 85;
        NavigationAccordion.FramesPerSecond = 200;
        NavigationAccordion.SelectedIndex = -1;
        NavigationAccordion.RequireOpenedPane = false;
        return NavigationAccordion;

我的猜测是我没有正确引用CSS,但我不确定如果是这样的话。

谢谢!

我已将CSS更新为包含@import "Accordion.css";

3 个答案:

答案 0 :(得分:1)

从班级中删除积分.

例如,而不是

NavigationAccordion.ContentCssClass = ".Contents";

NavigationAccordion.ContentCssClass = "Contents";

除此之外,我想知道为什么你需要动态创建它们。我认为这是你的问题的原因。 你不应该创建随机ID ,毫无例外。在回发和触发事件中重新加载ViewState非常重要。

答案 1 :(得分:0)

由于您尝试了@Tim的解决方案并且无效,请检查浏览器的调试工具以查看页面中是否存在CSS。它可能是一个引用它的问题。

答案 2 :(得分:0)

看起来很明显,但是,您是否链接到Accordian.css文件?即,在HTML中有行:

<link rel="stylesheet" type="text/css" href="Accordian.css" />

如同蒂姆所说,你还需要在分配课程时删除句点.