2016-12-12 7 views
0

Ich verwendete eine teilweise Postback in meinen ASPX-Seiten. In einigen der Elemente gebe ich eine CSS für das Styling an, um zu markieren, ob das Element ausgefüllt werden muss. Anfangs, ohne etwas zu setzen, wenn ich ein teilweises Postback mache, ist das Styling in meinem Update-Panel weg. Also habe ich den folgenden Code hinzugefügt, um das verlorene Styling hinzuzufügen.Vermeiden Sie die Duplizierung von Stil auf teilweise Postback

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

Das Problem ist, dass, wenn das Element außerhalb meines Update-Panel ist, wird es das * Zeichen dupliziert hat.

Gibt es eine Möglichkeit, dies zu beheben? I.e. Wie überprüft man, ob die bestimmte Klasse bereits <span style="color:red;">*</span> hat, damit ich den Stil nicht zweimal hinzufüge?

+0

Sie können Ihren Selektor einschränken, um nur Elemente innerhalb Ihres Updatepanels auszuwählen. Zum Beispiel: $ (". Mandatory #updatepanel") –

+0

Ok, ich habe es geschafft, indem ich deinen Kommentar gemacht habe, nur dass ich zuerst die #updatepanel und dann die Klasse gesetzt habe, so sieht das so aus: '$ (" # <% = updtPnl.ClientID%> .Mandatory "). append ('& nbsp & nbsp *');' Wenn du deinen Kommentar als Antwort postest, werde ich ihn akzeptieren. – rcs

Antwort

0

Sie können Ihren Selektor einschränken, um nur Elemente innerhalb Ihres Updatepanels auszuwählen. Zum Beispiel:

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