2012-07-17 142 views
-1

我們在ASP.NET頁面上加載了兩個Javascript文件。一個是CommonUI.js,另一個是Entity.JsObject undefined(Javascript)in localhost but not in production

該頁面調用Entity.Js中的一個函數,該函數調用CommonUI.Js中的函數。但是,在我的本地環境中,我收到錯誤「CommonUI」未定義。

在他們的生產環境中,這很好。

我已檢查CommonUI.js是否已加載。調試會觸發Entity.Js中的函數,但會失敗,因爲在CommonUI上調用的函數(CommonUI.WindowResize())指向未定義的對象。

所以我的問題是......爲什麼CommonUI沒有在我的本地主機中定義?

+0

而你的問題是......? – 2012-07-17 01:56:57

+0

我以前見過這個問題..... – rlemon 2012-07-18 04:05:53

回答

0

我認爲你的問題可能與你的JS文件使用的路徑有關。

你可以添加一個引用到兩個JS文件在你的頁面的標題:

<script type="text/javascript" src='<%= Page.ResolveUrl("~/js/Entity.js") %>'></script> 
<script type="text/javascript" src='<%= Page.ResolveUrl("~/js/CommonUI.js") %>'></script> 

如果您使用的是母版頁結構可能需要換一個ASP佔位符服務器控件中的引用。

<asp:PlaceHolder ID="PlaceHolder1" runat="server"> 
     <script type="text/javascript" src='<%= Page.ResolveUrl("~/js/Entity.js") %>'></script> 
     <script type="text/javascript" src='<%= Page.ResolveUrl("~/js/CommonUI.js") %>'></script> 
    </asp:PlaceHolder> 
+0

我證實路徑是相對的,他們確實解決了文件本身。 但是,我的程序首先加載CommonUI,然後加載Entity。 – 2012-07-17 14:40:46

+0

你可以發佈你的標記嗎?沒有看到一些標記是很難幫助的。 – Seany84 2012-07-17 15:21:41

相關問題