2017-06-30 5 views
0

Ich verwende C# in Visual Studio 2015 mit einem ASP.Net-Frontend.Eine weitere Möglichkeit, die Farbe eines Kontrollkästchens zu ändern

Ich habe diese Zeile Code bekam:

<asp:CheckBox ID="chkMedical" runat="server" Text="Medical" ForeColor="White" 
       Font-Size="X-Small" Visible="False" /> 

Wenn ich diesen Code ausführen, der Text "Medical" ist schwarz.

Warum ist es nicht weiß? Gibt es eine andere Möglichkeit, die Textfarbe zu ändern?

+0

Haben Sie versucht, einen Browser-Inspektor zu verwenden, um zu sehen, ob eine CSS-Klasse Ihre Einstellung außer Kraft setzt, oder Sie möglicherweise Javascript ändern lassen? BTW, Sie haben Visible = "False". Warum ist das in irgendeiner Farbe sichtbar? Nochmal ein bisschen Javascript? –

+0

^dies. Ich habe gerade Ihren Code getestet und es funktioniert gut (geändert sichtbar zu wahren obv). Ziemlich sicher gibt es eine generische CSS-Klasse, die Ihre Farbe überschreibt, oder ein JavaScript-Code, der sie ändert. –

+0

Die Sichtbarkeit wird basierend auf bestimmten Kriterien vom Backend (C#) geändert. Aber ich werde den Inspektor überprüfen und sehen, ob das mich zu irgendetwas führt. –

Antwort

0

Farben sollten durch CSS und nicht durch C# Inhaltserzeugung festgelegt werden. Sie können Ihren Code technisch verwenden, und es sollte funktionieren, aber etwas kann die Inline-CSS-Farben überschreiben. Versuchen Sie, ein CssClass zu Ihrem Element als solches:

<asp:CheckBox ID="chkMedical" CssClass="chkMedical" runat="server" Text="Medical" ForeColor="White" 
      Font-Size="X-Small" Visible="False" /> 

Dann einige CSS auf Ihre Seite als solche hinzufügen:

<style>.chkMedical { color: #FFF !important; } </style> 

Sie sollten wahrscheinlich die Tags im Kopf des Dokuments hinzuzufügen, oder zumindest Neu oben oder unten auf der ASPX-Seite, Ihre Wahl. Oder Sie könnten dies natürlich zu einer CSS-Datei hinzufügen, auf die in Ihrem Dokument verwiesen wird.

Beachten Sie, dass obwohl Sie die Element-ID anstelle einer Klasse verwenden können, ASP.NET die ContentPlaceHolderID im Allgemeinen zu nicht statischen ASP-Steuerelementen auf Ihrer Seite anfügt. Wenn wir also davon ausgehen, dass Ihre ContentPlaceHolderID "ContentPlaceHolder1" heißt, könnte der folgende Code auch funktionieren. Da sich der ContentPlaceHolder ändern kann oder jemand das ASP-Steuerelement in statisch ändern kann (wodurch sich die Element-ID ändert), empfehle ich die Verwendung einer Klasse, um mögliche Kopfschmerzen (persönliche Erfahrung) zu vermeiden.

<style>#ContentPlaceHolder1_chkMedical { color: #FFF !important; } </style> 
+0

OP - haben Sie immer noch Probleme? Konnte das deine Probleme lösen? –

Verwandte Themen