程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> 解決asp.net ajax sys未定義的解決方法

解決asp.net ajax sys未定義的解決方法

編輯:ASP.NET基礎
出現這種錯誤,一般是缺少2個文件,放到項目或者服務器根目錄下

新建記事本,隨便打上幾個字母,分別保存為以下2個文件,上傳即可解決

WebResource.axd , ScriptResource.axd

或參考如下方法:每個人碰到的原因可能不一樣。

首先,我們看一下網上出問題的同志們雖說都是"Sys 未定義",但是情況卻不盡相同,有的人使用的是Atlas版本,有的使用的Asp.net ajax Beta,有的則是正式發行版Asp.net ajax Beta,所以解決的方法也有區別了。下面簡單歸納一下現有的幾種方法:
1、Web.config配置問題:
將Web.config中的相關節配置成如下,然後重新編譯你的程序:
復制代碼 代碼如下:
<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>標記內

2、權限問題:
匿名用戶無法訪問 axd文件時,就會造成此類錯誤,關於這個的討論大家可以看看 《Asp.net Ajax 中的腳本錯誤: Sys未定義 的解決方法》,在這裡作者有詳細的討論

3、IIS的問題,由於IIS版本問題也可能導致此類錯誤,比如你用的服務器操作系統是2000 server等等,你需要把它們升級到最新版本,這主要是針對IIS的升級。Win2003用戶可以從下面這個地址下載到相關的補丁http://download.microsoft.com/download/7/b/1/7b1f473c-547d-4196-b00d-bf3aa2a3e898/WindowsServer2003-KB912812-x86-CHS.exe (建議你安裝sp2並實時更新升級)
相關討論大家還可以看一下這兒的討論:博客園——http://www.cnblogs.com/ltc31/archive/2006/09/20/510003.html

4、類庫問題:
如果真是這兒的問題應該解決起來就比較簡單了,你只需要安照下面的步驟做即可
到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程序導致此類問題的產生

7、當然了,你首先得檢查一下你的浏覽器沒有禁止javascript腳本才行(這個應該最早確認)

8、我自己解決辦法:我在試了上面幾種方法之後都沒有很好地解決,於是我就把所有的Asp.net Ajax的東東全部刪除,包括ToolKits,然後再從asp.net上重新下載最新版本的Ajax安裝之,發現問題簡簡單單地解決了。安裝成功後,在VS的工具箱裡分別多了Ajax Extions和Ajax ToolKits兩個選項卡,之後我安裝後是沒有的…… 大家不妨也試一下,按理說成功安裝完成之後就可以正常使用的

9、程序本身的問題:如果你在程序中有自己的Javascript代碼的話,你需要仔細檢查一下客戶端執行後的代碼情況,看看是不是某些變量在未定義前就使用了,特別要注意加載的順序,總之這也是一個造成sys 類型未定義的一個原因
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved