2015-02-23 18 views
0

我在Asp.Net MVC 4.創建一個簡單的網站有一個佈局中的佈局具有Javascript代碼的頭,像這樣:如何獲取javascript呈現在Asp.Net中注入到我的佈局的視圖中?

<script [email protected]("/Scripts/jquery.min.js")></script> 
<script [email protected]("/Scripts/jquery.dropotron.min.js")></script> 
<script type="text/javascript" [email protected]("/Scripts/jquery.slidertron.min.js")></script> 
<script [email protected]("/Scripts/skel.min.js")></script> 
<script [email protected]("/Scripts/skel-layers.min.js")></script> 
<script [email protected]("/Scripts/init.js")></script> 

這使得罰款,當我第一次加載網站/網頁。

該項目使用典型的URL/Home/Index路徑作爲默認值 - 但是當我通過在URL中添加'/ Home/Index'顯式調用該頁面時,頁面呈現時沒有任何樣式。除了家中的任何頁面,當它加載時,它們都是不帶樣式的,即使它們全都只是視圖被注入到這個相同的佈局中,並且在頭部使用了相同的Javascript。

任何想法爲什麼Javascript並未呈現在我的所有視圖中?

+0

確保您在視圖頂部有正確的佈局參考。 @ { Layout =「〜/ link to your shared layout」; } – 2015-02-23 19:14:09

+0

如果這是一個新網站,請考慮使用[Bundles](http://www.asp.net/mvc/overview/performance/bundling-and-minification),而不是單獨添加腳本。有顯着的性能優勢,這個問題可能無關緊要。 **編輯:**我剛剛查看了那個鏈接的圖表,他們似乎是騙人的(沒有指標,不同的規模),但是,下面的表格顯示硬數字 – Basic 2015-02-23 20:37:04

回答

0

唯一能夠真正引起這種情況的是使用相對URL來引用文件。當只加載沒有路徑的域時,將會在URL:http://domain.com/Scripts/foo.js處正確檢索像Scripts/foo.js這樣的引用。但是,如果路徑爲/Home/Index,則URL將變爲http://domain.com/Home/Index/Scripts/foo.js,這顯然不正確。

然而,你的情況在這裏,你不使用完全相對路徑,因爲每個與/應該前綴,因爲它總是從站點根目錄,參考儘管當前的URL路徑。如果我們假設您直接從您的項目中複製並粘貼了這些內容,那麼您在遇到此問題時會遇到一些問題。首先,驗證你在這裏發佈的代碼實際上是你在佈局中所擁有的。然後,確保視圖使用正確的佈局,並且您已經完成了一些愚蠢的事情,例如最近在進行更改時保存了該文件。除此之外,嘗試在瀏覽器中進行硬刷新和/或清除緩存,以確保它不僅僅是加載過時的頁面。

+0

一如既往,我欣賞幫助球員:)我我仍然不確定究竟是什麼導致了這個問題 - 但是在查看源文件和跟隨到JavaScript文件的鏈接後,我注意到它們與我的版本中包含的不同 - 我所做的更改沒有更新。所以我做了一個任意的修改,保存了,清除了我所有本地主機歷史記錄和voilla的瀏覽器!畢竟這是陳舊的頁面,我只是不知道它們是陳舊的。 – thisextendsthat 2015-02-23 21:16:30

相關問題