2017-08-08 156 views
-1

調用JavaScript函數外部JavaScript文件我有我想打電話給駐留在一個外部JavaScript文件jQuery函數的局部視圖。我知道部分視圖可能會在父視圖上多次渲染,我對此很滿意。對於我們的情況,局部視圖只能在任何情況下渲染一次。我在部分視圖的父級調用外部Javascript文件引用。淨MVC,如何從局部視圖

我有一個外部JavaScript文件「global.js」在它的功能。

//function in global.js 
    function myFunction(){alert("hello");} 

在我的部分視圖中,我有一個腳本標記,我想在global.js文件中調用「myFunction」函數。

<script>myFunction();</script> 

應該很標準的東西,但是當我嘗試從我的Chrome開發者控制檯中的部分觀點所說的「myFunction的()」,我得到myFunction的()沒有定義。就像我之前提到的那樣,它在部分視圖的父級中被調用,但似乎Partial View並不知道外部Javascript文件存在。

有什麼建議嗎?

+0

如果global.js在默認模板聲明,它應該工作 –

+0

能告訴你所提供的HTML代碼? – Win

回答

0

thjis是因爲你的腳本文件的局部視圖加載後

<head> 
<body> 
Your Partial view 
script inside partial view 

@juqry render (inculding global js) 
</body> 

解決這一問題最好的是使@ script.Render()在yourr頭部分_layout

0

檢查你的腳本你global.js在渲染的文件中的聲明之後出現。

假設你正在使用的標準模板,你應該能夠把腳本部分在局部視圖像這樣的MVC @section內;

@section Scripts{ 
    <script> 
     myFunction(); 

    </script> 

} 

MVC會然後把這段代碼

@RenderSection("script", required:false) 

出現在您的_layout.cshtml。