使用asp.net中的主题将skinid应用于标签

时间:2015-07-29 23:08:10

标签: c# asp.net

我试图使用从皮肤文件创建的skinid在运行时将皮肤应用于标签。主题文件夹名为skin1。 SkinID称为错误。当我尝试使用skinid将Skin1主题文件夹通过Page_PreInt方法应用于标签时,似乎没有任何事情发生。

代码:

protected void Page_PreInit(object sender, EventArgs e)
    {
        Session["Mytheme"] = "Skin1";
        lblMessage.SkinID = Session["Mytheme"].ToString();
    }

Hmtl中的标签:

<asp:Label ID="lblMessage" runat="server" SkinID="Error"  Text="HELLO WORLD">
</asp:Label>

主题文件夹中的Skin文件:

<asp:Label runat="server" SkinID="Error" ForeColor="Red"/>

1 个答案:

答案 0 :(得分:1)

要为这一个控件设置皮肤,您需要应用主题,但在页面级别关闭它,然后在您想要皮肤的控件上关闭它。 E.g。

<%@ Page Theme="skin1" EnableTheming="false" %>

然后设置皮肤ID就足够了:

<asp:Label ID="lblMessage" runat="server" SkinID="Error" Text="HELLO WORLD" EnableTheming="true">
</asp:Label>

或以编程方式:

Page.EnableTheming = false;
Page.Theme = "skin1";
lblMessage.SkinID = "Error";
lblMessage.EnableTheming = true;