2011-12-07 41 views
2

這是一個有趣的問題...ScriptResource not loading

我有一個ASP.NET 3.5的Web應用程序。它相對簡單 - 基於主頁面的內容頁面,以及頁面上的一些用戶控件。

頁面上共有四個控件;兩個是自定義控件,兩個是Ektron CMS控件。

出於某種原因,我一直在'系統是未定義的'Javascript錯誤。 Firebug錯誤控制檯還會引發「ASP.NET客戶端框架無法加載」錯誤。我無法弄清楚爲什麼這種情況正在發生。

踢球者 - 如果我把那些不能完全發揮作用的控件完全移出內容頁面,他們就可以正常工作。這顯然是內容頁面中的某些東西摧毀了框架,但我一直無法弄清楚這一點。

  • 修復.NET框架(沒有工作)
  • 各種web.config中調整(或者已經存在或沒:

    我已經發布,包括像之前的建議,通過幾十個的文章看了「T工作)

  • regiis -i命令(我不認爲這會有所幫助,因爲控制當我不使用的內容頁面做工作)
  • 談到了對用戶控件自定義腳本(沒有工作)
  • 註釋掉其他用戶控件的頁面上(沒有工作)
  • 創建一個空白頁面,並丟棄只有我感興趣的頁面上的控制(這實際上工程)

有沒有人見過這樣的事情?這是得到是在該內容頁面中的東西,但我正在努力與什麼。

編輯

我注意到,同時通過用戶控件的Page_Load事件觸發三次代碼加強;代碼第三次拋出錯誤。 (我仍然在試圖讓我的頭周圍多數民衆贊成拋出的錯誤)

編輯

我想萬一別人添加此看到這個錯誤。事實證明,問題是由不需要的頁面模板上的Scriptmanager造成的。

當我將Scriptmanager從頁面中移出時,一切正常,框架加載錯誤消失。我認爲這個問題必須破壞其他腳本,並阻止它們稍後在頁面上運行。

+0

你看過以下SO問題:http://stackoverflow.com/questions/3695351/ajax-client-side-framework-failed-to-load-asp-net-4-0不確定它的重複但症狀似乎相似 – kd7

+0

@kd - 我確實看到了,但這是一個4.0的問題,我正在運行3.5 – Tim

+0

您是否在頁面上刪除了scriptmanager?你能看到scriptresource.axd包含在源代碼中嗎? – slfan

回答

1

如果你在ScriptResource.axd上得到404,那麼你的ASP.NET安裝肯定有問題。之前我沒有配置正確的ASP.NET池。例如:在同一個服務器上可能有另一個ASP.NET應用程序分配給同一個池,該應用程序正在ASP.NET 2.0下運行。你說你的應用程序運行在3.5以下。你可以嘗試iisreset在你的機器上,然後啓動你的應用程序?

池可能被分配到錯誤的.NET版本。 另一種選擇可能是.NET 3.5沒有安裝在服務器上。

您確定該網站在沒有您的內容頁面的情況下運行良好嗎? ScriptResource.axd是動態生成JavaScript的動態處理程序。如果不可用,則腳本無法工作。

+0

我試過重置IIS(使用IISReset)並且應用程序恢復。當我將控件移到空白內容頁面時,它可以正常工作。我剛剛發現頁面上的其他控件中有一個錯誤 - 它不再拋出異常,但控件仍然無法正常工作。我也確認IIS設置/應用程序池似乎沒問題。 – Tim

+0

只要ScriptManager引發404,JavaScript將永遠不會工作。我認爲你必須在這個方向進行調查。 .axd擴展名是否正確映射? (例如trace.axd的工作?) – slfan

+0

我終於得到了這個工作 - 問題是頁面中的ScriptManager顯然不需要......當我刪除有問題的ScriptManager時,該頁面工作! (如果我能弄明白爲什麼這個特定頁面上的路徑失敗) – Tim

1

您的Sys的使用需要在您的ScriptManager設置在頁面上之後。 ScriptManager是實例化Sys對象的例子。

+0

嗨馬特,在應該調用它的函數之前定義的頁面上有一個scriptmanager ... – Tim

+0

你知道引用Sys的控件是什麼嗎?它是你的自定義控件還是來自你的CMS? – Matt