Asp.NET 中 Ajax 的配置使用
1、下載ajax.net組件
新建一個web項目,使用.NET1.1就引用類庫AjaxPro.dll,如果是使用.NET2.0 就引用AjaxPro.2.dll
AjaxPro.NET包下載,AjaxPro.dll,AjaxPro.2.dll都在里面
我用的是vs2008 .net2.0? ie7.0
2、配置web.config
?在<system.web> 節點內增加
<httpHandlers>
???? <add verb="*"path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
</httpHandlers>
3、空間聲明,注冊類名
后臺代碼類聲明前可以設置Ajax方法空間聲明,可以不設,默認為類名_Default
[AjaxPro.AjaxNamespace("myAjax")]
public partial class _Default : System.Web.UI.Page
在頁面加載Page_Load事件中注冊
?protected void Page_Load(object sender, EventArgs e)
{
???????//注冊當前頁面類
???????AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));
}
4、編寫服務器端方法
?[AjaxPro.AjaxMethod]
public string? ReturnAjax()
{
???????return "ajax? success";
}
[AjaxPro.AjaxMethod]聲明這個函數是由AJAX.NET在頁面異步請求的,總之記住要通過AJAX獲得數據的后臺函數就使用[AjaxPro.AjaxMethod]來聲明一下。
如果函數要對SESSION進行操作,[AjaxPro.AjaxMethod]需要改成[AjaxPro.AjaxMethod(AjaxPro.HttpSessionStateRequirement.ReadWrite)]。
在 [AjaxPro.AjaxMethod(AjaxPro.……)]? 的‘……?’部分ajax.net還提供了其他很多方法,可以處理一些特殊的請求。 還有一點注意,如果使用Application,直接讀取或寫入Application也是不行的,需要使用HttpContext.Current.Application,同樣對 Request的訪問也需要使用HttpContext.Current.Request。原因是直接使用的Application 或Request等 都是由Page類繼承下來的,而用Ajax.net對后臺方法訪問的時候,這些方法并不屬于Page類。但是Session比較特殊,使用 HttpContext.Current.Session仍然不能訪問,必須使用上面一段所用的方法并且直接就用Session就行。
5、客戶端代碼
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="MyFirstProject._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Default頁面</title>
<script language="javascript">
function myFirstAjax()
{
? //alert "ajax? success"
? var obj= myAjax.ReturnAjax();
? alert(obj.value);???????????
? //alert "ajax? success"
? myAjax.ReturnAjax(alertObject);
? //alert "ajax? success"
? myAjax.ReturnAjax(function(obj){alert(obj.value);});
}
?function alertObject(obj)
{
? alert(obj.value);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<input type="button" ID = "btnAjaxTest" runat="server" value="AJax Test" οnclick="javascript:myFirstAjax()" />
</form>
</body>
</html>
?
紅色的myAjax為后臺聲明的命名空間,另外? myAjax.ReturnAjax()中的參數除了對應后臺函數的參數外,最后可以使用一個表達式參數,這個參數是某個客戶段函數名,設置后,? myAjax.ReturnAjax請求后所獲得OBJECT對象將被做為 表達式參數函數的一個參數傳遞到該函數中,然后通過這個OBJECT參數的VALUE就可以獲得 AJAX請求后臺函數所返回的值了 通過這幾個步驟 就可以做出一個簡單的使用Ajax.net結合.NET的示例頁面了
?
轉載于:https://www.cnblogs.com/sundongxiang/archive/2009/09/10/1563923.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的Asp.NET 中 Ajax 的配置使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学习jQuery(一),做的第一个可拖动
- 下一篇: Python3.0 我的DailyRep