2013-10-15 38 views
0

我有一个ASP网站,在项目中使用App_Themes使用其他样式表代替App_Themes

在本网站内,我合并了另一位一直在/colleague_work/上工作的同事。新作品有独立于App_Themes的新风格,即/colleague_work/styles.css

当我查看网站的来源/colleague_work/default.aspx时,App_Theme/Theme1/AppStyles.css被注入页面并覆盖样式。

如何交换样式表或禁用第一个样式表,而不会影响App_Themes网站样式的其余部分?同事的样式表不允许从他们的位置移动到App_Themes文件夹中。

文件树结构:

File tree structure example

回答

1

ASP.NET,属性和元素以下顺序优先(第一个到最后一个):

  1. 主题在@ Page指令属性
  2. <pages theme="themeName">web.config文件的<system.web>部分
  3. 本地控制属性
  4. @ Page指令StyleSheetTheme属性在web.config文件
  5. <pages styleSheetTheme="themeName">元素

一种解决方法是禁用主题为特定的页面,通过设定的EnableTheming属性@ Page指令为false,同时还使用<link>标记引用styles.css

这是<!DOCUTYPE>标签之前完成,并为/colleague_work/default.aspx页面,会是这个样子:

<%@ Page Language="C#" EnableTheming="false" %> 
<!DOCTYPE html> 
<html> 
<head> 
<link rel="stylesheet" type="text/css" href="styles.css"> 
</head> 
... 
</html> 

更多信息:

How to: Disable MSDN Themes