日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ajax入门体会(转)

發布時間:2025/3/15 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ajax入门体会(转) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
注:我是使用ASP.NET的
使用AJAX的目的沒別的,就是實現無刷新更新頁面,所謂異步就是不用執行后臺程序,前臺就會得到相應的改變值,從而實現前臺頁面改變數據的目的,而這個改變的值還是通過后CS代碼操作改變的,聽起來會很不可意,這是怎么作到的那,聽我慢慢說。 經過我這幾天的研究,在ASP.NET里實現AJAX的方法可不只一種 1. 有直接用框架的:這種我比較喜歡,因為比較干凈,用自己的框架,我試過Ajaxpro和Prototype,這兩種我用過了,覺得不錯,以后我還會繼續用,Jquery其實也屬于這一范疇,今天研究半天,沒太明白,可能是我沒找到現成的框架吧,所以就不研究了 2. 還有一種就是用微軟專門為Ajax開發的控件包,叫作ASP.NET AJAX Control Toolkit,這個我沒太研究,網上有相關資料,想知道的可以自己去查,里面有很多現成的控件可以實現AJAX。 3. 用VS2005的可以下個ASPAJAXExtSetup.msi,里面有updatepanel控件也可以實現AJAX,這個我只初步試了一下,也好用,不過原理還不太明白。 以上三種是我收集到的一些AJAX的實現方法,我要講的是第一種方法的應用,因為第一種能叫你明白AJAX的運行原理,比較適合初學者。
我主要講Ajaxpro,這是個組件,必須去網上下載,其實就是一個Ajaxpro.dll文件,注意,網上有兩種一種叫Ajax.dll一種叫 Ajaxpro.dll,這兩種功能上是一樣的,就是添加引用的語句有些不同,下面我會分別說的。其實用AJAX都要下相關組件的,開始我也不習慣下什么插件,可后來還是下了,不下不行呀。我下到的是Ajax.dll,所以講時以Ajax.dll為準。 應用篇,這以下的東西會借鑒網上其他人的文章,在這里聲明一下 1.先把Ajax.dll添加引用到項目中,別告訴我不會,如果連這個也不會就太那個了,和添加其他DLL一樣,在項目上右擊,菜單上有個[添加引用],然后一步一步把那個.DLL文件添加進來,之后你會在項目的引用中看到那個Ajax.dll就是添加成功了
2.修改Web.config。在 <system.web> 元素中添加以下代碼。這里的Ajax.dll和Ajaxpro.dll引用方法是不一樣的,一定要注意
<configuration>
<system.web>
<httpHandlers>
<!-- Ajax.dll的配置文件寫法為,我下載到的是這個 -->
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
<!-- AjaxPro.dll的配置文件寫法為,根據你下載到的DLL文件選擇不同的配置語句-->
<add verb="*" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro"/>
</httpHandlers>
</system.web>
</configuration> 3對AjaxPro用到的頁Page_Load事件中進行運行時注冊。如:
??? protected void Page_Load(object sender, EventArgs e)
????? {
Ajax.Utility.RegisterTypeForAjax(typeof(_Default));//是Ajax.dll的
AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));//Ajaxpro.dll的
????? }
//這的_Default是指頁面類的類名,就是這個頁面的名字。如是放在命名空間,則需要寫上完整的命名空間(如:namespaces._Default) 4. 創建服務器端方法???
????? [Ajax.AjaxMethod]//這句一定要有,如果你是Ajaxpro.dll就寫成[AjaxPro.AjaxMethod]
????? public string getValue(int a,int b)
????? {?
??????? //該方法我們將實現從客戶端傳入兩個數,在服務器端相加計算后返回到客戶端。這里可以寫在原來的頁后臺中也可以單獨寫一個類。
????????? return Convert.ToString(a+b);//這里返回的就是前臺得到的值,反正參數已經進CS文件了,想怎么操作就怎么操作,包括讀庫都可以。 5. 客戶端調用。
<%@ Page language="c#" Codebehind="WebPage1.aspx.cs" AutoEventWireup="false" Inherits="Web.WebPage1" %>
<script language="javascript">
??? function getValue()
??????? { //這里如果是AjaxPor.dll就加Web._Default.getValue,如果是Ajax.dll就不用加命名空間如下
????????????? _Default.getValue(1,2,getGroups_callback);//該處即調用服務器端的_Default.getValue方法。
??? //_Default就是寫getValue的那個類,如果寫在本頁CS里就是WebPage1.getValue,1和2是參數。
????? //這在里邊getGroups_callback指定的是個回調函數,以接受服務器端處理完后返回客戶端結果。
????????? }
?
??? //這個方法用戶接受并處理服務器端返回的結果。
????? function getGroups_callback(response)
??? {
??????? var dt=response.value;//這個值就是最終傳回來的值,想怎么用就怎么用,反正回前臺了。
document.getElementById("Div_1").innerHTML=dt;
??? }
</script>?
<body>
<div id="Div_1"> </div>
<button </botton>
</body> 本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/yefengzhixia/archive/2009/02/14/3890157.aspx

轉載于:https://blog.51cto.com/657956565/200872

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的ajax入门体会(转)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。