ASP.NET的主题

通过配置web.config文件,Asp.Net可让该站点应用程序下的所有web页(.aspx)自动呈现统一的样式,配置方法如下:

<system.web>

<pages theme="Green"> </pages>

</system.web>

其中pages节的theme指定了主题的名称,该名称对应站点目录下的App_Themes的一个子目录的名字,若若配置的主题子目录不存在,则将产生产生编译错误。此外,对于新创建的.aspx文件,必须强制其head字段具有runat="server"属性,否则,将会在运行时抛出异常,错误信息如下:

“使用主题 css 文件要求页上有标头控件。(例如 <head runat="server" />)。

统一样式的好处是我们不必在每个页面中显式的指定,此外,我们还可以通过修改web.config文件使得所有页的样式都发生变化。但是有时候,我们也需要一些有个性的页面,那么如何避免一个aspx文件中应用在web.config中定义的主题呢?

方法很简单,直接在那个个性页面开始的Page声明中加入“Theme="" ”就可以了。如下:

<%@ Page Language="C#" Theme=""%>

注意:Theme后的引号中不能包含空格。

当然,你也可以把它改成已有的和web.config中不同的其他主题,如App_Themes下有一个Blue的主题,那么就可以将上面的声明改成:

<%@ Page Language="C#" Theme="Blue"%>

这样,我们就可以单独在这个页面中设置与众不同的样式了。