2011-04-29 103 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

相關問題