解決asp.net ajax sys未定義的解決方法
2024-07-10 12:42:11
供稿:網(wǎng)友
出現(xiàn)這種錯誤,一般是缺少2個文件,放到項目或者服務(wù)器根目錄下
新建記事本,隨便打上幾個字母,分別保存為以下2個文件,上傳即可解決
WebResource.axd , ScriptResource.axd
或參考如下方法:每個人碰到的原因可能不一樣。
首先,我們看一下網(wǎng)上出問題的同志們雖說都是"Sys 未定義",但是情況卻不盡相同,有的人使用的是Atlas版本,有的使用的Asp.net ajax Beta,有的則是正式發(fā)行版Asp.net ajax Beta,所以解決的方法也有區(qū)別了。下面簡單歸納一下現(xiàn)有的幾種方法:
1、Web.config配置問題:
將Web.config中的相關(guān)節(jié)配置成如下,然后重新編譯你的程序:
代碼如下:
<HTTPHANDLERS>
<REMOVE path='"*.asmx"/' verb='"*"'>
<ADD path='"*.asmx"' verb='"*"' PublicKeyToken='31bf3856ad364e35"/' Culture="neutral," Version="1.0.61025.0," Microsoft.Web.Extensions, type='"Microsoft.Web.Script.Services.ScriptHandlerFactory,' validate='"false"'>
<ADD path='"ScriptResource.axd"' verb='"GET"' type='"Microsoft.Web.Handlers.ScriptResourceHandler"' validate='"false"/'>
</HTTPHANDLERS>
<COMPILATION debug='"true"'>
<ASSEMBLIES>
<ADD PublicKeyToken='31BF3856AD364E35"/' Culture="neutral," Version="1.0.61025.0," assembly='"Microsoft.Web.Extensions,'>
</ASSEMBLIES>
</COMPILATION>
如果還有錯誤,試著把<asp:ScriptManager id="ScriptManager1" runat="server" AsyncPostBackTimeout="200" />寫在緊隨<form>標(biāo)記內(nèi)
2、權(quán)限問題:
匿名用戶無法訪問 axd文件時,就會造成此類錯誤,關(guān)于這個的討論大家可以看看 《Asp.net Ajax 中的腳本錯誤: Sys未定義 的解決方法》,在這里作者有詳細(xì)的討論
3、IIS的問題,由于IIS版本問題也可能導(dǎo)致此類錯誤,比如你用的服務(wù)器操作系統(tǒng)是2000 server等等,你需要把它們升級到最新版本,這主要是針對IIS的升級。Win2003用戶可以從下面這個地址下載到相關(guān)的補(bǔ)丁http://download.microsoft.com/download/7/b/1/7b1f473c-547d-4196-b00d-bf3aa2a3e898/WindowsServer2003-KB912812-x86-CHS.exe (建議你安裝sp2并實時更新升級)
相關(guān)討論大家還可以看一下這兒的討論:博客園——http://www.cnblogs.com/ltc31/archive/2006/09/20/510003.html
4、類庫問題:
如果真是這兒的問題應(yīng)該解決起來就比較簡單了,你只需要安照下面的步驟做即可
到http://ajax.asp.net/downloads/beta/default.aspx?tabid=47&subtabid=471 下載一個庫文件然后解壓到X:/Program Files/Microsoft ASP.NET/ASP.NET 2.0 AJAX Extensions/v1.0.61025 (x代表你安裝路徑盤符)
即可
5、有人提到用IP訪問就會有問題,用Localhost或者域名就正常,這兒我估計是緩存的問題,可以更新一下緩存看看是不是能夠解決
6、另外就殺毒軟件的問題了,如果你的殺毒軟件比較敏感的話也可能會殺掉了某些js程序?qū)е麓祟悊栴}的產(chǎn)生