2009-10-16 79 views
1

我收到以下錯誤:「SYS」是未定義JavaScript錯誤

Microsoft JScript runtime error: 'Sys' is undefined

雖然試圖執行:

<head id="Head1" runat="server"> 
    <title>Untitled Page</title> 
    <script language="javascript" type="text/javascript"> 

     //ERROR IN THIS LINE!!! 
     Sys.WebForms.PageRequestManager.getInstance().add_endRequest(onUpdated()); 


      function onUpdated() { 
       // get the update progress div 
       var pnlPopup = $get("div2"); 
       // make it invisible 

      } 

    </script> 
</head> 
+1

你在頁面上有一個ScriptManager嗎? – k0ni 2009-10-16 10:49:10

+0

@ k0ni,肯定的事 – dani 2009-10-16 10:49:46

+1

確保您的腳本低於scriptmanager。 也許試着把你的腳本標記放入正文,看看會發生什麼 – k0ni 2009-10-16 10:51:50

回答

6

確保您有一個ScriptManager在頁面上和腳本低於ScriptManager的。也許嘗試將腳本標記放入正文並查看會發生什麼。

我不知道你怎麼能解決這個問題,它不能在體內,但也許有從Sys系統時,其加載

你不需要括號告訴其功能neeeded回調:

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(onUpdated); 
+1

我已經在scriptmanager下面添加了JS,它工作正常! 但我不喜歡在體內有js的想法......可以做些什麼呢? 任何方式,更新您的答案(添加你在評論中發佈的內容),我會接受它:) – dani 2009-10-16 11:01:15

2

如果這是您的完整代碼,那麼問題在於未包含Microsoft AJAX庫。如果它不是你的完整代碼,那麼你需要發佈更多的信息,因爲它有點難以超越圖書館不包括在內的事實。

<script type="text/javascript" src="/scripts/MicrosoftAjax.js" /> 

以及其他可能的幾個: - 某處在你的文件中的行之前,你與你需要有一個javascript包括像有問題。

注:我正在談論生成的來源。顯示更完整的標記可能也足夠了。

+0

問題是將JS代碼放在腳本管理器中... – dani 2009-10-16 11:02:23

0

我在這裏的討論有點遲,但一個簡單的解決方案是在Visual Studio中創建一個「支持ASP.NET AJAX的網站」,然後將該網站的web.config與現有網站合併。

通過這種方式,您可以獲得所有您需要的配置,而無需仔細閱讀大量文檔。速度是最重要的和所有:)

+0

這是我發現從我的web.config解決這個錯誤:'' – 2013-12-12 21:16:06

0

您可以通過設置EnableCDN屬性設置爲「真」 .refer這link

0

我有同樣的問題,解決這個問題,所有的調查結果後,我發現需要腳本文件(「MicrosoftAjax.js」,「WebForms.js」,「jquery」,「bootstrap」等)沒有正確加載這導致我3錯誤「Sys'未定義」,「webform_docallback是未定義」和「 webform_initcallback'是未定義的「,我的實際問題是我參考了這些文件,其中沒有包含在我的項目中,我的錯誤我沒有注意到它,我已經嘗試從互聯網的所有可能的解決方案之前,我真的發現我的js文件不包括在內,這就是它沒有正確加載的原因。

希望這會有所幫助..