我在web.config中定义了404自定义错误页面,放在了网站根目录中,如果是根目录文件发生404错误,则调用么有问题,如果调用子目录下的文件发生了404错误,则在调用这个自定义错误页面后,页面中的调用css文件或者js文件就会出错,因为它会以出错目录的路径调用,这样就会无法取得了。怎么解决这个问题?目录结构如下/
   404.aspx
   admin/
           d.aspx (不存在)

解决方案 »

  1.   

    404页面的js或css这么写
    <link rel="stylesheet" type="text/css" href="/App_Themes/base/css.css" />
    href="/App_Themes/base/css.css"
    /打头是指针对网站根目录
      

  2.   

    不行,这个方法只针对http://xx/有效,如果是子虚拟目录下的就不行了
      

  3.   

    不用自定义错误页面。假设你还是传统的回发模式,那么一律使用UpdatePanel来处理交互回发,而UpdatePanel会自动将你抛出的异常信息显示在一个弹出窗口上(而原来页面不动)。你还可以使用ScriptManager的AsyncPostBackError
    事件来统一地根据Exception类型不同(你可以自定义不同的Exception子类型)来给出不同的、对用户有好的说明。不用传统的所谓“自定义错误页面”了!
      

  4.   

    <link rel="stylesheet" type="text/css" href="~/base/css.css" />看看这样
    或者用这种
      

  5.   

    我觉得就是错误页面取得地址是根据出错目录决定的,比如以下目录结构
    /
       404.aspx
       A/
       JS/js1.js404.aspx中有以下代码
    <script language="javascript" src="js/js1.js"></script>如果当前出错目录为根目录,那么由于404.aspx页面中js文件也是已根目录定义路径的,所以不会有错。
    如果是在A目录中出错,则404.aspx认为当前的目录为A目录下,虽然自己本身是在根目录下,但是这是很根据根目录相对地址调用js文件就会出错了。
      

  6.   

    不可能把,图片总有的吧,就会存在路径问题了,除非你用完全url路径,但是这会使得开发和部署需要改变的问题