在我的.net应用程序中,我在CSS文件夹中有Styleshet.css。
现在我想在Sample.aspx中链接这个css。
什么是最好的方法
1
<link href="CSS/StyleSheet.css" rel="Stylesheet" type="text/css" />
OR
2
<link href="<%=ConfigurationManager.AppSettings["ApplicationUrl"].ToString()%>/CSS/StyleSheet.css" rel="Stylesheet" type="text/css" />
在Web.Config
中<appSettings>
<add key="ApplicationUrl" value="http://localhost/myapp/" />
</appSettings>
答案 0 :(得分:5)
asp.net中最好的方法是选项3:
<link href="~/CSS/StyleSheet.css" rel="Stylesheet" type="text/css" />
~/
解析为站点路径根目录。这与"css/...
之间的区别在于,无论您使用的是哪个子文件夹,它都会有效。例如,如果您的代码位于
/subsection/default.aspx
,您的样式位于文件夹/css
使用指向"css/stylesheet.css"
的链接会(错误地)解析为"/subsection/css/stylesheet.css"
,而使用"~/css/stylesheet.css"
则会(正确)解析为"/css/stylesheet.css"
这也与硬路径根"/css/stylesheet.css"
的不同之处在于,无论站点的虚拟目录配置如何,它都能正常工作。
答案 1 :(得分:1)
<link href="CSS/StyleSheet.css" rel="Stylesheet" type="text/css" />
不要采用第二种方法,因为当您将网站部署到服务器时/localhost/
引用无效。
答案 2 :(得分:0)
相对路径approch要好得多(你的第一个approch),绝对路径在应用程序之间不可移植。如果移动绝对路径指向的应用程序,链接将中断。
您可以在下面提到的链接中找到更多信息
答案 3 :(得分:0)
好吧,总是使用相对路径,这样您就不必在部署后更改文件。
您还可以使用已解决的应用相对路径,例如
<link href="<%= ResolveUrl("~/CSS/StyleSheet.css") %> rel="Stylesheet" type="text/css" />