解決asp.net ajax sys未定義的解決方法
更新時間:2010年06月09日 17:20:54 作者:
這個方法絕對it560原創(chuàng),而且會讓大家少走彎路,對于網(wǎng)上流傳的webconfig配置錯誤的說法絕對是忽悠人,配置文件錯誤的記錄大概是0.1%
出現(xiàn)這種錯誤,一般是缺少2個文件,放到項目或者服務器根目錄下
新建記事本,隨便打上幾個字母,分別保存為以下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中的相關節(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>標記內(nèi)
2、權限問題:
匿名用戶無法訪問 axd文件時,就會造成此類錯誤,關于這個的討論大家可以看看 《Asp.net Ajax 中的腳本錯誤: Sys未定義 的解決方法》,在這里作者有詳細的討論
3、IIS的問題,由于IIS版本問題也可能導致此類錯誤,比如你用的服務器操作系統(tǒng)是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程序?qū)е麓祟悊栴}的產(chǎn)生
7、當然了,你首先得檢查一下你的瀏覽器沒有禁止javascript腳本才行(這個應該最早確認)
8、我自己解決辦法:我在試了上面幾種方法之后都沒有很好地解決,于是我就把所有的Asp.net Ajax的東東全部刪除,包括ToolKits,然后再從asp.net上重新下載最新版本的Ajax安裝之,發(fā)現(xiàn)問題簡簡單單地解決了。安裝成功后,在VS的工具箱里分別多了Ajax Extions和Ajax ToolKits兩個選項卡,之后我安裝后是沒有的…… 大家不妨也試一下,按理說成功安裝完成之后就可以正常使用的
9、程序本身的問題:如果你在程序中有自己的Javascript代碼的話,你需要仔細檢查一下客戶端執(zhí)行后的代碼情況,看看是不是某些變量在未定義前就使用了,特別要注意加載的順序,總之這也是一個造成sys 類型未定義的一個原因
新建記事本,隨便打上幾個字母,分別保存為以下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中的相關節(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>標記內(nèi)
2、權限問題:
匿名用戶無法訪問 axd文件時,就會造成此類錯誤,關于這個的討論大家可以看看 《Asp.net Ajax 中的腳本錯誤: Sys未定義 的解決方法》,在這里作者有詳細的討論
3、IIS的問題,由于IIS版本問題也可能導致此類錯誤,比如你用的服務器操作系統(tǒng)是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程序?qū)е麓祟悊栴}的產(chǎn)生
7、當然了,你首先得檢查一下你的瀏覽器沒有禁止javascript腳本才行(這個應該最早確認)
8、我自己解決辦法:我在試了上面幾種方法之后都沒有很好地解決,于是我就把所有的Asp.net Ajax的東東全部刪除,包括ToolKits,然后再從asp.net上重新下載最新版本的Ajax安裝之,發(fā)現(xiàn)問題簡簡單單地解決了。安裝成功后,在VS的工具箱里分別多了Ajax Extions和Ajax ToolKits兩個選項卡,之后我安裝后是沒有的…… 大家不妨也試一下,按理說成功安裝完成之后就可以正常使用的
9、程序本身的問題:如果你在程序中有自己的Javascript代碼的話,你需要仔細檢查一下客戶端執(zhí)行后的代碼情況,看看是不是某些變量在未定義前就使用了,特別要注意加載的順序,總之這也是一個造成sys 類型未定義的一個原因
相關文章
最鋒利的Visual Studio Web開發(fā)工具擴展:Web Essentials使用詳解
Web Essentials是目前為止見過的最好用的VS擴展工具了,具體功能請待我一一道來。2016-06-06WPF實現(xiàn)ScrollViewer滾動到指定控件處
這篇文章主要為大家詳細介紹了WPF實現(xiàn)ScrollViewer滾動到指定控件處,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06C# 進制轉(zhuǎn)換的實現(xiàn)(二進制、十六進制、十進制互轉(zhuǎn))
這篇文章主要介紹了C# 進制轉(zhuǎn)換的實現(xiàn)(二進制、十六進制、十進制互轉(zhuǎn)),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-01-01一個比較通用的分頁控件,完整的設計時支持和比較流行的分頁模式(提供源碼下載)
本分頁控件還包含簡單屬性,復雜屬性,自定義視圖狀態(tài),分頁事件,創(chuàng)建控件,render控件,Attribute,設計時支持等比較齊全的自定義控件的元素,是個不錯學習自定義控件開發(fā)的例子2010-12-12密碼綁定至密碼文本框中(TextMode設為Password)
一般情況之下TextBox的TextMode設為Password話,我們想在后臺(.cs)綁定一個值至此文本框,是無法實現(xiàn)的,如果一定要綁定值的話,該如何實現(xiàn)呢?,本文將告訴你實現(xiàn)方法,感興趣的朋友可以參考下2013-01-01ASP.NET中在一般處理程序中使用session的簡單介紹
這篇文章介紹了ASP.NET中在一般處理程序中使用session,有需要的朋友可以參考一下2013-10-10c#設置xml內(nèi)容不換行及屬性xsi:nil=true的空節(jié)點添加
c#設置xml內(nèi)容不換行:添加屬性為xsi:nil=true的空節(jié)點便可實現(xiàn),感興趣的你可以參考下本文,或許有意想不到的收獲2013-03-03ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后臺管理系統(tǒng)之前端頁面框架構建源碼分享
這篇文章主要為大家分享了ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后臺管理系統(tǒng)之easyui前端頁面框架構建源碼,感興趣的小伙伴們可以參考一下2016-07-07