rt:关于Global中重写URL造成CSS丢失的问题css文件是放在/css/css2012/a.css原url是
/city.aspx重写的是/city/beijing在地址栏输入
***/city/beijing
后能正常定向到/city.aspx页面 但是css地址变成了 href="../css/css2012/a.css" 
页面上引用
<link id="css1" rel="stylesheet" runat="server" href="~/css/css2012/a.css" type="text/css" />百度了下很多这样说
用根目录限定了(root qualify)CSS和图像引用(“/style.css”,而不是 “style.css”)。对于ASP.NET控件,你也可以使用“~”句法从你应用的根目录来引用文件(譬如,<asp:image imageurl="~/images/logo.jpg" runat="server"/>) 。
实际上我是用了runat="server" 但是还是不可以求解

解决方案 »

  1.   

    <link id="css1" rel="stylesheet"  href="/css/css2012/a.css" type="text/css" />去掉~,~/是顶对当前aspx页面来进行应用目录的解释的,所以不会考虑你的url重写。用/直接指定到网站根目录就行了
      

  2.   

    “~”这种写法适合服务端控件。。但是并不是说你加了runat="server" 就会跟服务端控件一样了。。
      

  3.   

    <link id="css1" rel="stylesheet" href="<%=Page.ResolveUrl("~")%>css/css2012/a.css" type="text/css" />
      

  4.   

    路径的问题吧。你原来的aspx文件和重写后的URL在目录层次上要在同一级。。