【问题标题】:css styles being lost when an UpdatePanel updates itself on timer当 UpdatePanel 在计时器上更新自身时,css 样式会丢失
【发布时间】:2012-09-19 04:54:53
【问题描述】:

当更新面板刷新时,我在更新面板中的元素丢失样式时遇到问题。我知道这不是一个新问题,并且已经阅读了以下主题

Someguys Blog on it

And another thread on it

可能的解决方法包括:用 div 包围更新面板,用 div 包围更新面板。

这在我的情况下实际上不起作用,因为我的更新面板中有几个元素,但我只想将样式应用于其中的两个元素,并且此方法使更新面板中的每个元素都反映样式。

任何建议将不胜感激

-J

【问题讨论】:

    标签: asp.net css updatepanel


    【解决方案1】:

    您可以使用周围 div 上的类来控制 div 内元素的样式。将类放在里面的一些元素上来识别它们,并在周围的div上改变类来触发改变。

    例子:

    <div id="container" class="hide">
      This is the content that can change
      <div class="someelement">asf</div>
      <div>qwer</div>
      <div class="otherelement">uyhgf</div>
    </div>
    

    你可以改变外层div上的类:

    document.getElementById('container').className = 'show';
    

    现在您可以设置 CSS 规则以根据外部类显示内部元素的更改:

    .hide .someelement { display: none; }
    .show .someelement { display: block; }
    .hide .otherelement { color: yellow; }
    .show .otherelement { color: black; }
    

    当计时器替换内容时,内部元素看起来仍然相同,因为控制外观的类位于外部 div 上。

    【讨论】:

    • 非常感谢,这就是我要找的!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多