2012-01-29 87 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/

相关问题