解決asp.net ajax sys未定義的解決方法
更新時(shí)間:2010年06月09日 17:20:54 作者:
這個(gè)方法絕對(duì)it560原創(chuàng),而且會(huì)讓大家少走彎路,對(duì)于網(wǎng)上流傳的webconfig配置錯(cuò)誤的說法絕對(duì)是忽悠人,配置文件錯(cuò)誤的記錄大概是0.1%
出現(xiàn)這種錯(cuò)誤,一般是缺少2個(gè)文件,放到項(xiàng)目或者服務(wù)器根目錄下
新建記事本,隨便打上幾個(gè)字母,分別保存為以下2個(gè)文件,上傳即可解決
WebResource.axd , ScriptResource.axd
或參考如下方法:每個(gè)人碰到的原因可能不一樣。
首先,我們看一下網(wǎng)上出問題的同志們雖說都是"Sys 未定義",但是情況卻不盡相同,有的人使用的是Atlas版本,有的使用的Asp.net ajax Beta,有的則是正式發(fā)行版Asp.net ajax Beta,所以解決的方法也有區(qū)別了。下面簡(jiǎn)單歸納一下現(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>
如果還有錯(cuò)誤,試著把<asp:ScriptManager id="ScriptManager1" runat="server" AsyncPostBackTimeout="200" />寫在緊隨<form>標(biāo)記內(nèi)
2、權(quán)限問題:
匿名用戶無法訪問 axd文件時(shí),就會(huì)造成此類錯(cuò)誤,關(guān)于這個(gè)的討論大家可以看看 《Asp.net Ajax 中的腳本錯(cuò)誤: Sys未定義 的解決方法》,在這里作者有詳細(xì)的討論
3、IIS的問題,由于IIS版本問題也可能導(dǎo)致此類錯(cuò)誤,比如你用的服務(wù)器操作系統(tǒng)是2000 server等等,你需要把它們升級(jí)到最新版本,這主要是針對(duì)IIS的升級(jí)。Win2003用戶可以從下面這個(gè)地址下載到相關(guān)的補(bǔ)丁http://download.microsoft.com/download/7/b/1/7b1f473c-547d-4196-b00d-bf3aa2a3e898/WindowsServer2003-KB912812-x86-CHS.exe (建議你安裝sp2并實(shí)時(shí)更新升級(jí))
相關(guān)討論大家還可以看一下這兒的討論:博客園——http://www.cnblogs.com/ltc31/archive/2006/09/20/510003.html
4、類庫(kù)問題:
如果真是這兒的問題應(yīng)該解決起來就比較簡(jiǎn)單了,你只需要安照下面的步驟做即可
到http://ajax.asp.net/downloads/beta/default.aspx?tabid=47&subtabid=471 下載一個(gè)庫(kù)文件然后解壓到X:\Program Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025 (x代表你安裝路徑盤符)
即可
5、有人提到用IP訪問就會(huì)有問題,用Localhost或者域名就正常,這兒我估計(jì)是緩存的問題,可以更新一下緩存看看是不是能夠解決
6、另外就殺毒軟件的問題了,如果你的殺毒軟件比較敏感的話也可能會(huì)殺掉了某些js程序?qū)е麓祟悊栴}的產(chǎn)生
7、當(dāng)然了,你首先得檢查一下你的瀏覽器沒有禁止javascript腳本才行(這個(gè)應(yīng)該最早確認(rèn))
8、我自己解決辦法:我在試了上面幾種方法之后都沒有很好地解決,于是我就把所有的Asp.net Ajax的東東全部刪除,包括ToolKits,然后再?gòu)腶sp.net上重新下載最新版本的Ajax安裝之,發(fā)現(xiàn)問題簡(jiǎn)簡(jiǎn)單單地解決了。安裝成功后,在VS的工具箱里分別多了Ajax Extions和Ajax ToolKits兩個(gè)選項(xiàng)卡,之后我安裝后是沒有的…… 大家不妨也試一下,按理說成功安裝完成之后就可以正常使用的
9、程序本身的問題:如果你在程序中有自己的Javascript代碼的話,你需要仔細(xì)檢查一下客戶端執(zhí)行后的代碼情況,看看是不是某些變量在未定義前就使用了,特別要注意加載的順序,總之這也是一個(gè)造成sys 類型未定義的一個(gè)原因
新建記事本,隨便打上幾個(gè)字母,分別保存為以下2個(gè)文件,上傳即可解決
WebResource.axd , ScriptResource.axd
或參考如下方法:每個(gè)人碰到的原因可能不一樣。
首先,我們看一下網(wǎng)上出問題的同志們雖說都是"Sys 未定義",但是情況卻不盡相同,有的人使用的是Atlas版本,有的使用的Asp.net ajax Beta,有的則是正式發(fā)行版Asp.net ajax Beta,所以解決的方法也有區(qū)別了。下面簡(jiǎn)單歸納一下現(xiàn)有的幾種方法:
1、Web.config配置問題:
將Web.config中的相關(guān)節(jié)配置成如下,然后重新編譯你的程序:
復(fù)制代碼 代碼如下:
<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>
如果還有錯(cuò)誤,試著把<asp:ScriptManager id="ScriptManager1" runat="server" AsyncPostBackTimeout="200" />寫在緊隨<form>標(biāo)記內(nèi)
2、權(quán)限問題:
匿名用戶無法訪問 axd文件時(shí),就會(huì)造成此類錯(cuò)誤,關(guān)于這個(gè)的討論大家可以看看 《Asp.net Ajax 中的腳本錯(cuò)誤: Sys未定義 的解決方法》,在這里作者有詳細(xì)的討論
3、IIS的問題,由于IIS版本問題也可能導(dǎo)致此類錯(cuò)誤,比如你用的服務(wù)器操作系統(tǒng)是2000 server等等,你需要把它們升級(jí)到最新版本,這主要是針對(duì)IIS的升級(jí)。Win2003用戶可以從下面這個(gè)地址下載到相關(guān)的補(bǔ)丁http://download.microsoft.com/download/7/b/1/7b1f473c-547d-4196-b00d-bf3aa2a3e898/WindowsServer2003-KB912812-x86-CHS.exe (建議你安裝sp2并實(shí)時(shí)更新升級(jí))
相關(guān)討論大家還可以看一下這兒的討論:博客園——http://www.cnblogs.com/ltc31/archive/2006/09/20/510003.html
4、類庫(kù)問題:
如果真是這兒的問題應(yīng)該解決起來就比較簡(jiǎn)單了,你只需要安照下面的步驟做即可
到http://ajax.asp.net/downloads/beta/default.aspx?tabid=47&subtabid=471 下載一個(gè)庫(kù)文件然后解壓到X:\Program Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025 (x代表你安裝路徑盤符)
即可
5、有人提到用IP訪問就會(huì)有問題,用Localhost或者域名就正常,這兒我估計(jì)是緩存的問題,可以更新一下緩存看看是不是能夠解決
6、另外就殺毒軟件的問題了,如果你的殺毒軟件比較敏感的話也可能會(huì)殺掉了某些js程序?qū)е麓祟悊栴}的產(chǎn)生
7、當(dāng)然了,你首先得檢查一下你的瀏覽器沒有禁止javascript腳本才行(這個(gè)應(yīng)該最早確認(rèn))
8、我自己解決辦法:我在試了上面幾種方法之后都沒有很好地解決,于是我就把所有的Asp.net Ajax的東東全部刪除,包括ToolKits,然后再?gòu)腶sp.net上重新下載最新版本的Ajax安裝之,發(fā)現(xiàn)問題簡(jiǎn)簡(jiǎn)單單地解決了。安裝成功后,在VS的工具箱里分別多了Ajax Extions和Ajax ToolKits兩個(gè)選項(xiàng)卡,之后我安裝后是沒有的…… 大家不妨也試一下,按理說成功安裝完成之后就可以正常使用的
9、程序本身的問題:如果你在程序中有自己的Javascript代碼的話,你需要仔細(xì)檢查一下客戶端執(zhí)行后的代碼情況,看看是不是某些變量在未定義前就使用了,特別要注意加載的順序,總之這也是一個(gè)造成sys 類型未定義的一個(gè)原因
相關(guān)文章
.NET Core3.0 日志 logging的實(shí)現(xiàn)
這篇文章主要介紹了.NET Core3.0 日志 logging的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
ASP.NET性能優(yōu)化之讓瀏覽器緩存動(dòng)態(tài)網(wǎng)頁的方法
上一篇《ASP.NET性能優(yōu)化之構(gòu)建自定義文件緩存》我們通過OutputCache,讓請(qǐng)求去訪問服務(wù)器asp.net的輸出緩存,我們擴(kuò)展了OutputCacheProvider,這相當(dāng)于是訪問服務(wù)器上的靜態(tài)資源。2011-09-09
使用Visual Studio 2017作為L(zhǎng)inux C++開發(fā)工具
這篇文章主要為大家詳細(xì)介紹了使用Visual Studio 2017作為L(zhǎng)inux C++開發(fā)工具的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03
asp.net(c#)兩種隨機(jī)數(shù)的算法,可用抽考題
asp.net(c#)兩種隨機(jī)數(shù)的算法,可用抽考題...2007-04-04
輕量級(jí)ORM框架Dapper應(yīng)用之返回多個(gè)結(jié)果集
這篇文章介紹了使用Dapper返回多個(gè)結(jié)果集的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03
Asp.net mvc實(shí)時(shí)生成縮率圖到硬盤
這篇文章主要介紹了Asp.net mvc實(shí)時(shí)生成縮率圖到硬盤的相關(guān)資料,需要的朋友可以參考下2016-05-05
Sqlite 常用函數(shù)封裝提高Codeeer的效率
以下是頻繁用到的Sqlite函數(shù),內(nèi)容格式相對(duì)固定,封裝一下有助于提高開發(fā)效率^_^至少提高Codeeer的效率了2012-12-12

