2016-11-11 62 views
0

我有很多asp:Label s,我想改變每一個字體的大小。更改所有asp的大小:標籤文本

我知道他們轉換爲<span>但我有其他元素與文本轉換爲跨度,我想要更改。
那麼我怎樣才能將樣式應用到只有標籤生成的跨度?

請不要告訴我我將不得不通過每一個直接應用cssClass。

回答

1

您可以爲其定義皮膚。將皮膚看作是一組通用於特定類型的所有控件的設置。皮膚不是單獨存在,而是存在於一個主題中。以下是關於如何從MSDN創建主題的walkthrough。我認爲在這裏複製它是不合理的。

而是把重點放在你的具體使用情況,繼續遵循此演練,並創建一個主題,只有像這樣定義的單個皮膚:

<asp:Label runat="server" CssClass="CommonCssClass" /> 

注意我們不使用SkinID,所以這將是適用於所有Label控件。

下一步進入到頁面,修改頁面指令:

<%@ Page Theme="YourThemeName" %> 

就是這樣,這應該適用於主題定義皮膚頁面上的標籤。

事實上,我會提出一個觀點,認爲這是對服務器端控件進行類似更改的更好方法,然後試圖找出如何使用css選擇器捕獲生成的HTML。後者讓你的代碼依賴於生成的標記,這很危險,因爲ASP.NET並不總是生成你期望的。例如,Label does not always render as span

+0

謝謝,這有幫助。 也可以有選擇地使用它嗎?只有在'

'之內的標籤上或者其他什麼? – Nol

+1

@Nol,no afaik。頁面可能是您可以應用的最窄範圍。或者你總是可以使用SkinID,但這與設置CssClass沒有什麼不同。我看到的最後一個選項是在後面的代碼中分配皮膚,您可以更好地區分控件。但請記住,這隻能在PreInit階段完成,而不能晚於此階段 – Andrei