Asp.net

如何將內聯 CSS 應用於 ASP.NET 伺服器控制項?

  • June 21, 2021

根據我執行的一個簡單測試,我認為不可能將內聯 <style> 標記放入 ASP.NET 伺服器控制項中。該樣式最終沒有呈現到輸出 HTML。即使有可能,我敢肯定這樣做是不好的做法。

是否有可能做到這一點?我可以看到它對於只有 1 或 2 個 CSS 類要應用的快速原型很有用。

根據www.w3schools.com

樣式元素位於頭部。如果要在頁面中包含樣式表,則應在外部定義樣式表,並使用&lt;link&gt;.

所以&lt;style type="text\css"&gt;&lt;/style&gt;在控制項中包含樣式元素(例如塊)不是一個好主意。如果可以的話,它可能會在某些瀏覽器中產生影響,但它不會驗證並且是不好的做法。

如果您想將樣式內聯應用於元素,那麼這些都可以工作:

C#

myControl.Attributes["style"] = "color:red";

myControl.Attributes.Add("style", "color:red");

VB.NET

myControl.Attributes("style") = "color:red";

myControl.Attributes.Add("style", "color:red");

但請記住,這將替換在 style 屬性上設置的任何現有樣式。如果您嘗試在程式碼中的多個位置設置樣式,這可能是一個問題,因此需要注意。

最好使用 CSS 類,因為您可以將多個樣式聲明分組並避免冗餘和頁面膨脹。從WebControl派生的所有控制項都有一個可以使用的CssClass屬性,但再次注意不要覆蓋已在其他地方應用的現有類。

Intellisense 不會給你提示,但你可以這樣做:

&lt;asp:Label ID="Label1" runat="server" Text="Label" style="color:Red;"&gt;&lt;/asp:Label&gt;

引用自:https://stackoverflow.com/questions/92427