我有一堆从主视图继承的页面。其中一个页面我想使用一个流行的jQuery插件,名为“ Uploadify ”。
我应该在哪里放置 Uploadify javascript 文件的引用?我只需要它在一个小页面上,因此将它放在主视图中似乎不正确。将其放置在将使用此插件的继承视图的内容标签中是否“可以”?
我知道做到这一点的最好方法是ContentPlaceHolder
在 的<head>
部分中添加一个MasterPage
,并将<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 文件的引用保留在文档头部和文档正文之外。
此外,如果您使用静态文档缓存,则将文档放在母版页还是视图中可能并不重要,尤其是在大多数人最终会上传文档的情况下。尽管这种方法可能会使首页加载速度稍慢一些。