我有一个使用主题、iframe和母版页的asp.net Web应用程序。我使用IE Web Developer和FF Firebug分析了这些页面,并发现每个页面都两次引用相同的CSS文件。我不知道这是因为母版页模型还是因为iframe的原因。有人知道如何只引用一次CSS吗?
<pages styleSheetTheme="Default" theme="Default"></pages>
<pages theme="Default"></pages>
<system.web>
<pages theme="ThemeName">
<controls>
</controls>
</pages>
<system.web>
因此,您不需要向CSS文件添加任何引用。
但有个问题是,CSS文件将按字母顺序引用(据我所知,无法更改),因此,如果您希望一个.css文件覆盖另一个,请小心处理文件名。
你是从内容页面引用这个CSS文件吗?如果是的话,这会导致CSS被引用两次。你不需要从内容页面引用CSS,只需要从主页面引用即可。
iframe 是一个独立的渲染上下文,因此你无法合理地避免它需要加载 CSS。如果它使用与嵌入页面相同的样式表,那么是的,该样式表将被引用两次。
StyleSheetTheme
属性,该基类被每个aspx页面继承。现在,如果我在标记页中另外设置StyleSheetTheme
,链接定义会呈现两次。当您手动设置Theme
属性时,可能会发生相同的情况。
<%@ Page Title="My Page" StyleSheetTheme="DefaultTheme" Language="C#" MasterPageFile="~/Master.Master" AutoEventWireup="true"
CodeBehind="Details.aspx.cs" Inherits="MyProject.Article.Details" %>