2009-06-15 63 views

回答

6

我知道要做到这一点,最好的办法是在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> 
+0

同意,但我会把它放在底部标签正上方的底部。 – Charlino 2009-06-15 21:34:58

+0

如果他使用jQuery $(document).ready(function(){...});它并不重要 - 直到DOM加载后代码才会运行。 – 2009-06-15 23:47:11

0

将一个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

0

您可以在母版页的部分中添加内容块。这将保持对文档头部中的js文件的引用,并将其保留在文档主体之外。另外,如果使用静态文档缓存,将文档放在母版页或视图中可能无关紧要,特别是如果大多数人最终会上传文档。虽然这种方法可能会使第一页加载速度稍慢一些。

相关问题