孟宪会ID:net_lover
909549次访问,排名32好友199人,关注者0
http://dotnet.aspx.cc/
【声明:各位好,由于系统“添加好友”功能只能添加200个,后来的朋友不能加入,见谅!!!】
net_lover的文章
原创 246 篇
翻译 2 篇
转载 5 篇
评论 850 篇
孟宪会的公告
欢迎光临!您在阅读的过程中有任何建议或者意见,请发邮件或者留言,合作愉快!
最近评论
Bluesky_Leon:公司内,不知道为什么无法安装
starfork:在高级选项里面,点击更改代理设置,会切换到IE的Connection选项卡上
这算什么?不能自己设置代理,还要看IE的设置
ipnuftj:消化中
blueskit:已经装上!
hxmhj:不好.
文章分类
收藏
    相册
    文章用图
    【孟子E章】站点
    【孟子E章】站点(RSS)
    【孟子E章】网摘(RSS)
    【孟子E章】网站(RSS)
    Silverlight 1.0 SDK 中文版
    Silverlight 1.0 SDK 中文版
    【网上邻居】
    .Net开发资源中心
    【兔子】专栏
    AppleVB 主页
    Estyle(靳田)之狂想手扎
    huahaoyueyuan
    JavaProgramers的专栏
    意玺的BLOG
    最爱白菜
    枕善居VB.NET源码博客
    美丽眼睛看世界
    阿赖
    存档
    订阅我的博客
    XML聚合  FeedSky

    原创 ASP.NET 2.0中CSS失效的问题总结收藏

    新一篇: Java/JSP中调用SQL Server存储过程完整示例 | 旧一篇: 利用C#创建 IIS 站点并设置.NET Framework版本为ASP.NET 2.0 的方法(二)

    经常有人遇到ASP.NET 2.0(ASP.NET 1.x中可能是有效的)中CSS失效的问题,现将主要原因和解决方法罗列如下:

    1,CSS文件路径不正确
    这个问题属于Web开发中的基础问题,一般采用相对路径会出现这样的问题,或者样式文件写在了母版页里面,在内容页与母版页不在同一级目录下时会出现这样的问题。此时你要清楚Web中相对路径的规则,如果你不清楚,可以采用绝对路径的写法试试就知道是不是路径的问题了。

    2,CSS规则写法错误
    这个问题谁也帮不你,只能自己学习CSS的相关知识了。

    3,文件编码问题
    有时候,CSS样式放在aspx文件里有效,而放在独立的文件中无效,这样的问题如果不是路径问题,则就是编码问题造成的,可以将CSS文件用记事本打开,再另存为ANSI格式或者UTF-8格式即可。

    4,权限问题
    这种情况常见的现象是登录之前样式无效,登录之后才有效,这是典型的权限问题造成的。由于web.config配置了所有文件不允许匿名访问,才会出现这样的问题,解决方法就是将<location>标记将样式文件配置为允许匿名访问。例如:

    <configuration>
       
    <location path="允许匿名访问的文件夹名称或者文件路径">
          
    <system.web>
             
    <authorization>
                
    <allow users="?"/>
             
    </authorization>
          
    </system.web>
       
    </location>
    </configuration>

     

    5,单击按钮样式失效
    这种情况最典型的原因是单击按钮事件里有类似Response.Write这样的语句,由于ASP.NET 2.0默认采用http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd文档类型定义,它就要求在<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">的前面不能有任何输出。这种问题的解决方法是采用ClientScriptManager输出,或者采用Literal控件输出内容。

    6,在ASP.NET 1.x里面起作用的样式到ASP.NET 2.0里面失效
    这种问题一般仍然是xhtml1造成的,由于http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd的样式规则与以前的不同,如要加单位,例如width:200;现在要写成width:200px;这种问题的解决方法就是要明确加上单位。

    7,脚本设置的样式无效
    由于xhtml1.DTD要求有单位,因此在设置对象样式的数值时,仍然要加上单位,如obj.style.width = "200px"。下面的代码在Firefox了是无效的(不要抱怨Firefox麻烦)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
      
    <script type="text/javascript">
      
    //<![CDATA[
      function SetHeight()
      {
        document.getElementById(
    "x").style.height="200"
      }
      
    //]]>
      </script>
    </head>
    <body>
    <div id="x" style="background:#DDD;height:auto;">测试</div>
    <input type="button" value="设置" onclick="SetHeight()" />
    </body>
    </html>


    尽管上面在IE中正常,但在Firefox里面则会出现问题。正确写法为 

    document.getElementById("x").style.height="200px"



    发表于 @ 2007年08月27日 13:01:00|评论(loading...)|编辑

    新一篇: Java/JSP中调用SQL Server存储过程完整示例 | 旧一篇: 利用C#创建 IIS 站点并设置.NET Framework版本为ASP.NET 2.0 的方法(二)

    评论

    #wulemale 发表于2007-08-27 17:17:14  IP: 58.33.5.*
    只有一张样式表,在哪里都是没问题的,就是在gridview中显示是对的,点击编辑修改成功后回来样式就失效了,弄不明白?
    #octverve 发表于2007-08-27 17:28:06  IP: 221.218.205.*
    thanks
    #hertcloud 发表于2007-08-27 19:23:02  IP: 222.210.255.*
    收藏
    #heartsuccess 发表于2007-08-27 20:50:47  IP: 221.13.149.*
    谢谢了!不过问题还是没有解决呀!
    #supercpu123 发表于2007-08-27 21:53:34  IP: 222.189.69.*
    同4楼 我也有相同问题
    #net_lover 发表于2007-08-28 07:59:18  IP: 219.237.16.*
    @楼上的2位,请把你的问题将清楚,最好发个地址看看你的现象。
    #chinaxi 发表于2007-08-28 08:17:59  IP: 61.236.244.*
    小孟就是牛啊
    #MINGSEN4734 发表于2007-08-28 09:38:31  IP: 219.239.227.*
    遇到过这种情况,对照起来应该是第五条,问题也是按照这个方法解决的
    #coolesting 发表于2007-08-29 00:35:21  IP: 219.137.61.*
    收藏`~~
    #blnm2003 发表于2007-08-29 13:03:32  IP: 218.242.134.*
    值得借签
    #yaoking2000 发表于2007-08-29 15:01:36  IP: 218.24.162.*
    我遇到一种情况下css失效 在点提交按钮后,如果没有满足条件需返回提交页时,刷新出的页面中css失效,一直没有解决这个问题
    #net_lover 发表于2007-08-29 16:51:28  IP: 219.237.16.*
    请出现问题的各位发个地址或者代码。如果没有违反(x)html和CSS规范是不会无效的
    #jlzan1314 发表于2007-08-30 09:30:08  IP: 220.178.178.*
    hoho 孟子大哥 久仰!
    #ne_rush 发表于2007-09-02 18:13:24  IP: 218.4.189.*
    请教:

    ie6中 是不是定义的样式名前面不能有下划线啊

    例如:
    ._a{
    ......
    }
    #ICeeYeS 发表于2007-09-05 19:49:16  IP: 121.46.192.*
    http://community.csdn.net/Expert/topic/5743/5743152.xml?temp=.3407709

    我遇到的问题相当奇怪,是分页控件上的。

    同样的代码,我把源码拷出存为html就可以正常显示的

    #showlie 发表于2007-09-10 15:12:28  IP: 60.186.188.*
    原因:由于处理的数据量比较大,因此在用户单击按钮时,一边处理数据,同时加载一个进度条页面来显示数据处理的过程。
    如你在http://blog.csdn.net/net_lover/archive/2007/08/27/1760521.aspx中提到的【单击按钮样式失效】中提到,用ClientScriptManager替代Response.Write,如果是script,则可以实现,但是我现在输入的是一个页面文本,不能使用ClientScriptManager,只能用Response.Write实现。但是执行Response.Write后css就无效了。
    请问,如何解决这个特殊的问题呢?

    期待你的回答,谢谢!
    #net_lover 发表于2007-09-11 11:12:10  IP: 219.237.16.*
    办法很多啊
    1,Label1.Text="Err"
    2,js完全可以createElement
    3,Page.ClientScript.RegisterStartupScript完全可以的
    #niuniuhuang 发表于2007-09-18 14:34:17  IP: 219.136.106.*
    在.net2.0里面,在css里面加背景图片如: url(images/**.gif);
    我加的是一个loading的图片就是网易邮箱加载时那个会转的图片,
    在aspx页面上有时不显示有时显示但不转动,在htm页面里面又正常
    #duans 发表于2008-01-10 15:30:35  IP: 61.186.155.*
    谢谢你详细的收集。
    #mike1lainet 发表于2008-06-25 09:09:38  IP: 210.5.20.*
    谢谢!
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 孟宪会