2011-05-21 78 views
1

我有一個web項目,其中我使用Theme和皮膚來形成我的頁面,今天我決定在應用程序中更改某些元素的皮膚。如何在所有頁面中更改皮膚

到現在我有一個單一的皮膚我的按鈕

<asp:Button SkinID="Button" CssClass="Button" runat="server" /> 

現在我想改變它爲我的一些按鈕一樣喜歡

<asp:Button ID="btnDelete" SkinID="Button" runat="server" /> 
<asp:Button ID="btnSubmit" SkinID="Button" runat="server" /> 
<asp:Button ID="btnCancel" SkinID="Button" runat="server" /> 
<asp:Button ID="btnOtherActivities" SkinID="Button" runat="server" /> 
實施

<asp:Button SkinID="SubmitButton" CssClass="Button Submit" runat="server" /> 
<asp:Button SkinID="DeleteButton" CssClass="Button Delete" runat="server" /> 
<asp:Button SkinID="CancelButton" CssClass="Button Cancel" runat="server" /> 

Allof我的按鈕

現在我想使用一個正則表達式來將我的控件的SkinID更改爲每個過濾器

我該怎麼辦?

+0

請注意,使用簡單的替換不是我的答案,因爲我沒有爲我的按鈕使用單個模式,例如,一旦我使用'ID - runat - onClick - skin'並且在另一個我使用了'ID - 皮膚 - runat - onClick' – 2011-05-21 07:54:14

回答

0

在你的web.config文件中設置你的主題;

<configuration> 
    <system.web> 
     <pages theme="ThemeName" /> 
    </system.web> 
</configuration> 

如果您的新主題中可以設置相同的skinid名稱,那麼這些名稱將自動更改。

+1

我認爲Nasser正試圖在一堆文件中改變一堆SkinID(例如從SkinID =「Button」到SkinID =「Button Submit」)。這需要在每個控制中完成,而不是一般主題。 – 2011-05-21 08:08:39

+0

@jdangelo我完全理解:)我的建議是在全局配置一個主題名稱,並在主題名稱與現在相同的主題中添加皮膚。這樣他就可以在不更改任何其他皮膚的情況下更改樣式。 AFAIK,有辦法全局配置控件類型的skinid,是嗎? – tugberk 2011-05-21 08:12:16

+0

@ tubberk我明白你的意思了,現在。出於某種原因,我將其讀作SkinName而不是ThemeName。不過,我認爲這不會起作用,因爲如果你有一堆具有相同SkinID的相同類型的控件,則不能添加諸如「Button Submit」之類的細節細節,因爲這將適用於所有按鈕, ?所以如果你在一個頁面上有三個按鈕,都帶有SkinID =「SomeIDName」,那麼你就沒有辦法指定哪一個得到改變。 – 2011-05-21 08:17:54