我有一堆從主視圖繼承的頁面。其中一個網頁我想使用名爲「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