<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    飛艷小屋

    程序--人生--哲學___________________歡迎艷兒的加入

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      52 Posts :: 175 Stories :: 107 Comments :: 0 Trackbacks
    關于Ajax.Net的快速入門

    現在的項目準備用ajax,用ajax.net實現,而不是atlas,所以先看下ajax.net,Ajax.Net現在的最新版本是AjaxPro5.11.4.2,下載地址是:www.schwarz-interactive.de

    首先我們新建個項目,名字是AjaxPro,我用的是vs2005beta2版本。

    右擊站點名字點add reference添加對我們剛剛下載來的那個叫AjaxPro.2.dll的引用,如果你用的是vs2003,則添加對AjaxPro.dll的引用,然后我們在添加個web.config文件(很郁悶的是vs2005不再自動添加web.config文件拉),修改web.config如下:

    																										<system.web> <httpHandlers> 
    <add verb="POST,GET" path="ajaxpro/*.ashx" 
    type="AjaxPro.AjaxHandlerFactory, 
    AjaxPro.2"/> </httpHandlers>
    																								

    意思是所有的ajaxpro/*.ashx請求都由Ajax.PageHandlerFactory處理,而不是由默認的System.Web.UI.PageHandlerFactory處理程序工廠來處理。

    我們現在給Default.aspx.cs文件添加個名字空間namespace MyDemo,這里更加郁悶的是為什么vs2005beta2怎么不給你自動添加名字空間啊?和2003怎么完全不同呢?

    現在我們寫個AjaxMethod服務器端方法,他和普通的服務器方法唯一不同的地方就是他必須要在方法的上面添加個[AjaxPro.AjaxMethod],代碼如下:

    																										[AjaxPro.AjaxMethod]
    public DateTime GetServerTime()
    {
    return DateTime.Now;
    }
    [AjaxPro.AjaxMethod]public int 
    AddTwo(int firstInt, int secondInt)
    {
    return firstInt + secondInt;
    }
    																								

    我們還必須在Page_Load里面把這個類注冊下,如下:

    																										protected void Page_Load
    (object sender, EventArgs e)
    {
    AjaxPro.Utility.RegisterTypeForAjax
    (typeof(_Default));
    }
    																								

    這個時候我們還必須修改aspx頁面的指令行,因為我們在后臺搞了個名字空間,如下:Inherits="MyDemo._Default"也就是要把名字空間也寫上。我們再寫客戶端腳本來調用服務器方法。代碼里有詳細的注釋,前臺Default.aspx代碼:

    																										<%@ Page Language="C#" 
    AutoEventWireup="true"CodeFile="Default.aspx.cs" 
    Inherits="MyDemo._Default" %>
    <!DOCTYPE html PUBLIC "-
    //W3C//DTD XHTML 1.1//EN" 
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server"><title>Untitled Page
    </title></head><body><form id="form1"
    runat="server"><div><input id="Button1"
    type="button" value="獲得服務器時間" 
    onclick="getServerTime();" /><input 
    id="Text1" type="text" /><input 
    id="Text2" type="text" /><input
    id="Button2" type="button" 
    value="得到兩個文本框的和" 
    onclick="add(document.getElementById('Text1').
    value,document.getElementById('Text2').value)" 
    /></div></form><script 
    type="text/javascript">
    function getServerTime()
    {
    //MyDemo._Default.GetServerTime()
    得到從服務器傳來的數據是object,
    要寫.valuealert
    (MyDemo._Default.GetServerTime().value);
    }
    function add(a,b)
    {
    //把文本框的值轉換成intvar 
    a1 = parseInt(a);var b1 = parseInt(b);
    //第1、2參數為服務器方法所需要的參數,
    后面一個是如果服務器返回數據
    //客戶端要處理這些數據的js函數名,
    他有個參數就是從服務器傳來的數據
    MyDemo._Default.AddTwo(a1,b1,getAdd);
    }
    function getAdd(rel)
    {
    //要加上.valuealert(rel.value);
    }
    </script></body></html>
    后臺Default.aspx.cs代碼:
    using System;using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;using 
    System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    namespace MyDemo
    {
    public partial class _Default : 
    System.Web.UI.Page{protected void 
    Page_Load(object sender, EventArgs e){AjaxPro.Utility.RegisterTypeForAjax
    (typeof(_Default));
    }
    [AjaxPro.AjaxMethod]public 
    DateTime GetServerTime()
    {return DateTime.Now;
    }[AjaxPro.AjaxMethod]public int AddTwo
    (int firstInt, int secondInt)
    {
    return firstInt + secondInt;
    }}} 
    按F5運行結果如下,
    firefox里面測試通過: 
    using System;using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    namespace MyDemo
    {
    public partial class _Default :
    System.Web.UI.Page
    {
    protected void Page_Load
    (object sender, EventArgs e)
    {AjaxPro.Utility.RegisterTypeForAjax
    (typeof(_Default));}
    [AjaxPro.AjaxMethod]public DateTime 
    GetServerTime(){return DateTime.Now;
    }
    [AjaxPro.AjaxMethod]public 
    int AddTwo(int firstInt, 
    int secondInt)
    {return firstInt + secondInt;}}}
    																								
    posted on 2006-04-19 10:24 天外飛仙 閱讀(319) 評論(0)  編輯  收藏 所屬分類: .net
    主站蜘蛛池模板: 人与禽交免费网站视频| 国产成人精品123区免费视频| 亚洲最大黄色网站| 成人免费看吃奶视频网站| 国产2021精品视频免费播放| 亚洲激情视频图片| 亚洲国产综合人成综合网站| 一个人免费日韩不卡视频| 亚洲精品欧美综合四区| 亚洲AV永久青草无码精品| 最近的免费中文字幕视频| 免费播放在线日本感人片| 亚洲人成人网毛片在线播放| 亚洲人成网7777777国产| 一个人看的www在线观看免费| 一道本在线免费视频| 亚洲国产精品乱码在线观看97| 亚洲国产aⅴ综合网| 免费观看国产网址你懂的| 国产VA免费精品高清在线| 亚洲制服丝袜精品久久| 久久久久亚洲精品天堂久久久久久 | 国产最新凸凹视频免费| 无码av免费一区二区三区| 免费在线观看一区| 亚洲AV无码一区二区三区人| 国产AV无码专区亚洲AV漫画| 好吊妞在线新免费视频| 最近中文字幕2019高清免费| 精品国产污污免费网站入口在线| 日韩亚洲不卡在线视频中文字幕在线观看| 337p日本欧洲亚洲大胆裸体艺术| 日韩免费a级在线观看| 3344免费播放观看视频| 任你躁在线精品免费| 美女被吸屁股免费网站| 亚洲熟妇少妇任你躁在线观看| 亚洲黄色在线观看视频| 免费下载成人电影| 日本高清免费观看| 久久免费国产精品|