2009-01-12 81 views
1

我只是将徽标用作示例。ASP.NET是否支持皮肤徽标?

我试图在ASP.NET中第一次使用主题/皮肤 - 并试图弄清楚他们将允许我做什么。

据我所知,主题主要是为了更改像按钮这样的控件,可以使用图像进行修改。但是有没有一种方法可以为主题使用“徽标”或其他图形?阅读文档我不能立即看到这样做的方式。

回答

4

您可以轻松设置使用主题/皮肤的图像/标志。例如。如果您有像这样的图像控制:

<asp:Image id="imgLogo" runat="server" SkinId="logo" ... /> 

在您的皮肤文件中,您可以指定要显示的图像,例如,在App_Themes文件/ THEME1/logo.skin:

<asp:Image runat="server" SkinId="logo" ImageUrl="~/images/logo1.png" /> 

而且在App_Themes文件/ THEME2/logo.skin:

<asp:Image runat="server" SkinId="logo" ImageUrl="~/images/logo2.png" /> 

这不限于ImageUrl属性。您可以从皮肤文件中设置控件的大部分属性。

1

我最近使用ASP.net主题来创建一个动态品牌的网站,其中包含不同的徽标和其他图像,具体取决于将用户发送到网站的会员。这听起来像你要去的。要做到这一点,我做了以下几点:

  1. 创建了几个主题,包括css和图像(没有使用皮肤文件)。你可以在你的CSS中使用相对引用来显示存储在主题文件夹中的背景图像。
  2. 创建我自己的页面类,覆盖OnPreInit事件并将Page.Theme设置为我确定应使用的任何主题。这是基于我的Cookie,但可能基于您想识别用户的任何方式。
  3. 确保您的所有页面都从您的新页面类继承。