2010-08-06 88 views
1

我的JS在我在MasterPage中引用它時起作用,它在Partial View(.ascx)中引用它時起作用,但當我從View(.aspx)引用時,它不起作用。任何想法爲什麼?爲什麼我無法在View中引用JavaScript文件?

+0

一般而言,您可以在您的View文件中引用JavaScript,就像您在其他任何提到的文件中一樣。你會得到什麼樣的js錯誤? – 2010-08-06 22:00:32

+0

我根本沒有得到任何錯誤 - 我得到的是沒有功能。 – DaveDev 2010-08-06 22:01:26

+1

它在點擊瀏覽器時如何渲染? .aspx上的.js文件的URL中是否有與其他文件不同的內容? – David 2010-08-06 22:01:48

回答

2

視圖中腳本文件的路徑是否正確?

如果您使用Fiddler或Firebug的Net選項卡檢查HTTP流量,您是否看到腳本資源被下載到瀏覽器?

您可能需要使用UrlHelper.Content和相對路徑來渲染腳本源頁面或者是創建一個HtmlHelper擴展方法來呈現出你的腳本標籤(我想在MVCContrib一個存在,如果你已經使用了)。

+0

如果母版頁可以調用它,並且母版頁中包含該文件,那麼它們都應該能夠調用它。但是如果該塊被包含在每個內聯的地方,那麼我預計它會被打破。 – jcolebrand 2010-08-06 22:10:54

+0

重新引用相同的js文件將來會導致問題。意外後果的法律。 – jcolebrand 2010-08-06 22:27:29

+0

我不會建議在頁面中重新引用相同的腳本兩次,因爲在執行腳本代碼的第二個副本時可能會覆蓋變量值,可能會導致問題。我不清楚OP通過引用腳本意味着什麼,因此我發表了一條評論以獲得澄清。 – 2010-08-06 23:12:53

0

所以,如果你有一個包含的文件(讓我們假裝它看起來像)

function alertMe(someValue) { 
    alert(somevalue); 
} 

,並在你的母版頁,ASPX聲明塊,並ASCX你有

<script type="text/javascript"> 
    alertMe("some string"); 
</script> 

和它在母版頁和ascx中工作,但不在aspx中工作?

+0

這不是一個答案 – ggarber 2010-08-07 10:51:45

+0

不,這是一個澄清原始問題的請求,其中包括NO代碼塊。所以你是對的。 – jcolebrand 2010-08-08 00:56:18

相關問題