2011-04-29 52 views
1

在我的.net应用程序中我有CSS文件夹中的Styleshet.css。什么是最好的方法来链接.sspx网页上的.aspx页面.net

现在我想链接在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> 

回答

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
<link href="CSS/StyleSheet.css" rel="Stylesheet" type="text/css" /> 

不要去第二种方法,因为当你的网站部署到服务器/localhost/参考将无法正常工作。

+0

这并不重要。如果我们部署到服务器,然后我们将它更改为www.websitename.com.actually我的疑问是我们需要写完整路径还是短一个是好的? – Sukhjeevan 2011-04-29 11:19:46

+0

+1 @Sukhi Short one是唯一一个好的,另一个强加了不必要的维护。 – Bazzz 2011-04-29 11:28:16

+0

PLZ请参阅我在问题 – Sukhjeevan 2011-04-29 11:45:54

0

相关路径接近要好得多(您的第一个接近),绝对路径在应用程序之间是不可移植的。如果您移动绝对路径指向的应用程序,则链接将中断。

您可以找到以下提到的链接

Specifying Paths for Resources

+0

PLZ中做了一些更改请参阅我在问题 – Sukhjeevan 2011-04-29 11:45:48

0

好了的更多信息,请始终使用相对路径,这样你就不必在部署后更改的文件。

您还可以使用解决应用相对路径,如

<link href="<%= ResolveUrl("~/CSS/StyleSheet.css") %> rel="Stylesheet" type="text/css" /> 
+0

中做了一些更改没有必要使用脚本来执行此操作,只需说'href =“〜/ css/stylesheet.css”'因为周围的'head'或'link'本身有一个runat =“server”。 – 2011-04-29 12:29:10

相关问题