2017-06-30 67 views
0

我在Visual Studio 2015中使用C#編寫了一個ASP.Net前端。改變複選框文本顏色的另一種方法

我有這行代碼:

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

當我運行這段代碼,文本「醫療」是黑色的。

爲什麼它不是白色的?是否有另一種方法來改變文字顏色?

+0

您是否嘗試過使用瀏覽器檢查器來查看CSS類是否可能覆蓋您的設置,或者您可能有一些JavaScript更改顏色?順便說一句,你有Visible =「False」。爲什麼這在任何顏色都可見?再一次,一些JavaScript? –

+0

^這。我只是測試你的代碼,它工作正常(更改可見真正的OBV)。很確定有一個通用的CSS類覆蓋你的顏色,或者一些JavaScript代碼改變它。 –

+0

根據來自後端(C#)的特定標準更改知名度。但是我要檢查一下檢查員,看看是否能帶給我什麼。 –

回答

0

顏色應該由CSS設置,而不是C#內容生成。你可以在技術上使用你的代碼,它應該可以工作,但有些東西可能會重寫inline-css的顏色。嘗試添加的CssClass你的元素,例如:

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

那麼一些CSS添加到您的網頁,例如:

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

很可能需要添加在文檔的頭部標記,或至少新的.aspx頁面的頂部或底部,您的選擇。或者,您當然可以將其添加到文檔所引用的CSS文件中。

請注意,儘管您可以使用元素ID而不是類,但ASP.NET通常會將ContentPlaceHolderID附加到頁面上的非靜態ASP控件。所以,如果我們假設你的ContentPlaceHolderID被稱爲「ContentPlaceHolder1」,那麼下面的代碼也可以工作。由於ContentPlaceHolder可能會更改,或者某人可能會將您的ASP控件更改爲靜態(導致元素ID更改),所以我建議使用類來避免潛在的頭痛(個人體驗)。

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

OP - 你還有問題嗎?這是否能夠解決您的問題? –