当 UpdatePanel 在计时器上更新自身时,css 样式会丢失
Posted
技术标签:
【中文标题】当 UpdatePanel 在计时器上更新自身时,css 样式会丢失【英文标题】:css styles being lost when an UpdatePanel updates itself on timer 【发布时间】:2012-09-19 04:54:53 【问题描述】:当更新面板刷新时,我在更新面板中的元素丢失样式时遇到问题。我知道这不是一个新问题,并且已经阅读了以下主题
Someguys Blog on it
And another thread on it
可能的解决方法包括:用 div 包围更新面板,用 div 包围更新面板。
这在我的情况下实际上不起作用,因为我的更新面板中有几个元素,但我只想将样式应用于其中的两个元素,并且此方法使更新面板中的每个元素都反映样式。
任何建议将不胜感激
-J
【问题讨论】:
【参考方案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 上。
【讨论】:
非常感谢,这就是我要找的!以上是关于当 UpdatePanel 在计时器上更新自身时,css 样式会丢失的主要内容,如果未能解决你的问题,请参考以下文章
找不到ID为'xxx'的UpdatePanel。如果它是动态更新的,那么它必须在另一个UpdatePanel内
使用 JavaScript 或 jQuery 手动更新 UpdatePanel
UpdatePanel 中未更新的内容(在 Web 部件中)
ASP.NET UpdatePanel:在 UpdatePanel 更新上注入 Javascript