避免在部分回发时重复样式

Posted

技术标签:

【中文标题】避免在部分回发时重复样式【英文标题】:Avoid duplication of style on partial postback 【发布时间】:2017-04-26 21:32:39 【问题描述】:

我在我的 ASPX 页面中使用了部分回发。在某些元素中,我为样式指定了一个 css,以标记该元素是否必须填写。最初,没有放置任何内容,当我进行部分回发时,我的更新面板中的样式消失了。所以我添加了下面的代码来添加丢失的样式。

function pageLoad(sender, args) 
    if (args.get_isPartialLoad()) 
        $(".Mandatory").append('&nbsp&nbsp<span style="color:red;">*</span>');
    

问题是,如果元素在我的更新面板之外,它会重复* 符号。

有没有办法解决这个问题? IE。如何检查某个类是否已经有&lt;span style="color:red;"&gt;*&lt;/span&gt;,这样我就不会添加两次样式?

【问题讨论】:

您可以将选择器限制为仅选择更新面板中的元素。例如:$(".Mandatory #updatepanel") 好的,我通过像您的评论一样做到了这一点,只是我把#updatepanel放在第一位,然后是班级,所以它看起来像这样:$("#&lt;%=updtPnl.ClientID %&gt; .Mandatory").append('&amp;nbsp&amp;nbsp&lt;span style="color:red;"&gt;*&lt;/span&gt;');如果您将评论作为答案发布,我会接受的。 【参考方案1】:

您可以将选择器限制为仅选择更新面板中的元素。例如:

$("#updatepanel .Mandatory").append('&nbsp&nbsp<span style="color:red;">*</span>');

【讨论】:

以上是关于避免在部分回发时重复样式的主要内容,如果未能解决你的问题,请参考以下文章

列表框在回发时重复(重复)

__DoPostback 在进行部分回发时回发禁用控件的值

jQuery填充的Gridview在回发时丢失数据

在回发时,如何向验证摘要添加错误消息?

asp .net背景图像在回发时闪烁

从支付网关回发时丢失会话