我正在使用this guide创建一个HTTPHandler,它将脚本和css文件组合在一起作为一个请求提供。
基本上它将一堆.css文件读入一个字节数组,然后使用内容类型text / css(或text / javascript)将字节写入客户端
当使用FireBug时,似乎CSS很好......它就在那里。但是,浏览器本身只会渲染组合操作中使用的第一个文件中的CSS。
示例:
File1.css: body {font-size:20px; } h1 {颜色:红色; }
File2.css: div {border:solid 1px black; }
所有CSS都可以通过CSS选项卡中的Firebug查看...但是File2.css中的类实际上并未应用于页面上的div。如果我翻转文件的顺序,div会得到一个边框,但File1.css中没有任何内容被应用。
Javascript文件工作得很好,但CSS让我完全难过!
编辑显示CSS退出FIREBUG
body {
font-size:22px;
}
h1 {
color:Red;
text-decoration:underline;
}
div {
border:1px solid black;
}
这里是来自NET TAB,实际的响应
ParamsHeadersPostPutResponseCacheHTML
Response Headersview source
Server ASP.NET Development Server/9.0.0.0
Date Mon, 29 Nov 2010 01:10:26 GMT
X-AspNet-Version 2.0.50727
Transfer-Encoding chunked
Cache-Control public, must-revalidate, proxy-revalidate, max-age=259200
Expires Thu, 02 Dec 2010 01:10:26 GMT
Content-Type text/css
Connection Close
Request Headersview source
Host localhost:49598
User-Agent Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12
Accept text/css,*/*;q=0.1
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive 115
Connection keep-alive
Referer http://localhost:49598/
body
{
font-size: 22px;
}
h1
{
color: Red;
text-decoration: underline;
}div
{
border: solid 1px black;
}
新发展。如果我在记事本中创建.css文件一切正常。在创建样式表文件时,VS2008是否会在文件中添加一些看不见的内容?
FIDDLER TEXTVIEW (Dunno,其中有额外的角色来自。有趣。
9a
body
{
font-size: 22px;
}
h1
{
color: Red;
text-decoration: underline;
}div
{
border: solid 1px black;
}
0
答案 0 :(得分:1)
在GetFileBytes
中更改以下行
byte[] bytes = File.ReadAllBytes(physicalPath);
// TODO: Convert unicode files to specified encoding. For now, assuming
// files are either ASCII or UTF8
return bytes;
要
string content = File.ReadAllText(physicalPath, encoding);
return encoding.GetBytes(content);
答案 1 :(得分:0)
我不确定是什么问题;如果Firebug的CSS选项卡看到CSS,它应该呈现。
尝试清除缓存(Ctrl + F5)并重新启动Firefox。
尝试在服务器上的CSS文件之间添加换行符;这可能会有所帮助。