我創建了一個默認的ASP.net MVC項目。在母版頁我已在頂部如何在asp.net MVC中包含js文件並在所有路徑上都有一個有效路徑
以下<head runat="server">
<title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
</head>
然後我需要添加一個JavaScript文件,並添加了一行從Solution Explorer拖動文件到頁面如下:
<head runat="server">
<title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
<script src="../../Scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
</head>
當我訪問該網站,看看從瀏覽器的HTML我看到這一點:
<head><title>
Index
</title><link href="Content/Site.css" rel="stylesheet" type="text/css" />
<script src="../../Scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
</head>
CSS文件相對路徑是固定的,而JS文件沒有。該網站將部署到服務器上的另一個文件夾,而不是我在開發框中獲得的根目錄。
有沒有適當的方法來做到這一點?
這解決了將網站安裝到子目錄中時的問題,因爲〜被替換爲網站根目錄的路徑。 但問題是,當我到達根的js文件是在根目錄下的腳本文件夾中,而不是../../Scripts仍然存在。由於MVC將路由到不同的子文件夾,因此該腳本不是從所有路線都可用的。 我給你+1因爲至少現在我有一種方式來硬編碼相對於根的路徑。但是我會拭目以待,看看有人能夠解釋爲什麼它適用於開箱即用的CSS,而不是JS。 – jvanderh 2009-06-04 16:38:56
我認爲這個問題不是css vs Javascript,但是你只需將你的css放在你的conetne文件夾中,而不是你的腳本 – Lewis 2009-06-04 16:51:29