首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

关于Global中重写URL造成CSS丢失的有关问题

2012-06-12 
关于Global中重写URL造成CSS丢失的问题rt:关于Global中重写URL造成CSS丢失的问题css文件是放在/css/css201

关于Global中重写URL造成CSS丢失的问题
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" 但是还是不可以

求解

[解决办法]
<link id="css1" rel="stylesheet" href="/css/css2012/a.css" type="text/css" />

去掉~,~/是顶对当前aspx页面来进行应用目录的解释的,所以不会考虑你的url重写。用/直接指定到网站根目录就行了
[解决办法]
“~”这种写法适合服务端控件。。但是并不是说你加了runat="server" 就会跟服务端控件一样了。。
[解决办法]
<link id="css1" rel="stylesheet" href="<%=Page.ResolveUrl("~")%>css/css2012/a.css" type="text/css" />
[解决办法]
路径的问题吧。你原来的aspx文件和重写后的URL在目录层次上要在同一级。。

热点排行