2012-01-29 65 views
2

我正在一個asp.net MVC web應用程序,目前我正在管理的腳本如下: - 1.我已經放置了以下腳本在_layout觀點,因爲他們大多數認爲的(當然不是所有的觀點),用於: -什麼是更好地將腳本放在_layout視圖或每個視圖

<script src="@Url.Content("~/Scripts/jquery-1.6.2.min.js")" type="text/javascript"></script> 
     <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script> 
     <script src="@Url.Content("~/Scripts/jquery-ui-1.8.14.min.js")" type="text/javascript"></script> 
  1. 的話,我已經添加了其它腳本的相關意見自理,如果他們需要。

所以我的問題是,如果這種方法將取得更好的性能,因爲我不會加載_layout視圖上的所有腳本?

回答

1

是的,這是最佳實踐。但是請注意,如果您在大多數視圖中使用某個script文件,那麼我會將它放在_Layout.cshtml中。僅僅因爲它沒有在100%的視圖中使用,並不意味着它是不切實際的,並且建議將它放在佈局視圖中。

如果有幾個或兩個使用的是特定的腳本,你是對的:只要把它放在該視圖。但請記住,如果您需要更新腳本文件名或路徑,那麼您正在重複自己,並且可能會成爲維護噩夢。

這是一個灰色地帶,但我願意說你做對了。

1

放置所有視圖將在_layout.cshtml文件中使用的腳本。

然後在相應的視圖中放置特定的腳本,如驗證的腳本,甚至在編輯器模板中更好。

更好的是,使用Cassette之類的東西將所有腳本合併到一個.js文件中,這將使您的網站更快,因爲用戶必須緩存單個文件並提供單個文件。然後你會從_layout.cshtml中提供這個單一的.js文件。

錄音帶:http://getcassette.net/

SquishIt:http://www.codethinked.com/squishit-the-friendly-aspnet-javascript-and-css-squisher


我有一個小文章用SquishIt與MVC3,雖然我更喜歡紙盒。兩者都提供類似的功能

http://sergiotapia.com/2012/01/using-squishit-in-an-asp-net-mvc3-web-application/