我有一堆从主视图继承的页面。其中一个网页我想使用名为“Uploadify”的热门jQuery插件。我应该在ASP.NET MVC的主视图中包含一个JavaScript引用,以便能够访问该视图?
我应该在哪里放置Uploadify JavaScript文件的参考?我只在一个小页面上需要它,因此将它放在主视图中似乎不太合适。将它放置在我的继承视图的内容标记中是否可以使用此插件?
我有一堆从主视图继承的页面。其中一个网页我想使用名为“Uploadify”的热门jQuery插件。我应该在ASP.NET MVC的主视图中包含一个JavaScript引用,以便能够访问该视图?
我应该在哪里放置Uploadify JavaScript文件的参考?我只在一个小页面上需要它,因此将它放在主视图中似乎不太合适。将它放置在我的继承视图的内容标记中是否可以使用此插件?
我知道要做到这一点,最好的办法是在MasterPage
的<head>
部分添加一个ContentPlaceHolder
和<script>
标签添加到Content
引用在需要额外的JavaScript(或stylehseets,或任何所有页面的那款。它肯定增加了一个额外的自由度)。
在你掌握:
<head>
<!-- Sitewide script references, title tags etc goes here -->
<asp:ContentPlaceHolder ID="HeadContent" runat="server" />
</head>
因为它默认是空的,你没有改变任何东西在任何其他页面进行此项更改你的主人。
在你的页面需要额外的js脚本:
<asp:Content ID="HeadContentFromPage" ContentPlaceHolderId="HeadContent">
<script type="text/javascript" src="myPageSpecificScript.js"></script>
</asp:Content>
将一个ScriptManager控制您的主页上,包括常用的JS文件有:
<asp:ScriptManager ID="ScriptManager1" runat="server" >
<Scripts>
<asp:ScriptReference Path="Common.js" />
</Scripts>
</asp:ScriptManager>
放一个ScriptManagerProxy器上您的内容页面(或任何用户控件)并在其中包含特定的JS文件:
<asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server" >
<Scripts>
<asp:ScriptReference Path="Specific.js" />
</Scripts>
</asp:ScriptManagerProxy>
编辑:我不确定这是否也适用于ASP.NET MVC。
您可以在母版页的部分中添加内容块。这将保持对文档头部中的js文件的引用,并将其保留在文档主体之外。另外,如果使用静态文档缓存,将文档放在母版页或视图中可能无关紧要,特别是如果大多数人最终会上传文档。虽然这种方法可能会使第一页加载速度稍慢一些。
同意,但我会把它放在底部标签正上方的底部。 – Charlino 2009-06-15 21:34:58
如果他使用jQuery $(document).ready(function(){...});它并不重要 - 直到DOM加载后代码才会运行。 – 2009-06-15 23:47:11