众所周知,ASP.NET在页面内的App_Themes的Theme文件夹中包含每个CSS样式表。没有讨论。
但是现在,我遇到一个问题,主题中有很多CSS文件,并且愿意使用static content domain。我想从静态域(不仅是CSS,还有图标,图像等)加载我网站的所有静态内容,但现在让我们只关注CSS。
是否可以覆盖Page
类的行为,对于在Theme文件夹中找到的每个CSS文件,使用正确的静态内容域URL重写<link>
标记?我没有阻止我将文件部署到http://static.domain.com/App_Themes/Theme路径,所以至少为标记添加前缀是可以的。
提前谢谢。
答案 0 :(得分:1)
是的,你可以。您可以让自定义基页类写入它在文件夹中找到的CSS文件。但是,我不确定您是否可以覆盖主题功能的默认行为,因此最简单的方法是将CSS文件移到默认主题之外。然后,您可以使用System.IO对象读取目录,访问该文件并生成链接。
HTH。
答案 1 :(得分:0)
另一种方法是编写http模块。让模块检查发送回客户端的html。
如果它检测到样式表参考,请更改样式表所从的位置。
这适用于其他项目,例如图像等。