第一个Ajax.net程序的实现及心得。

      首先从网上下载一个AjaxPro.dll(vs2003),然后把Ajax.dll copy到应用系统bin目录下,在项目中添加引用AjaxPro.dll。随后,找到web.config文件,修改里面的配置: 
第一个Ajax.net程序的实现及心得。   < httpHandlers >
第一个Ajax.net程序的实现及心得。  
< add  verb ="POST,GET"  path ="ajaxpro/*.ashx"  type ="AjaxPro.AjaxHandlerFactory,AjaxPro" ></ add >
第一个Ajax.net程序的实现及心得。  
</ httpHandlers >
意思是所有的ajaxpro/*.ashx请求都由Ajax.PageHandlerFactory处理,而不是由默认的System.Web.UI.PageHandlerFactory处理程序工厂来处理。
     接下来我们就开始第一个Ajax.net的初次旅行。
     新建一个项目ajax,然后呢,打开WebForm2.aspx.cs文件,在Page_Load事件里面注册一下AjaxPro
1 第一个Ajax.net程序的实现及心得。      private   void  Page_Load( object  sender, System.EventArgs e)
2 第一个Ajax.net程序的实现及心得。         {
3第一个Ajax.net程序的实现及心得。            // 在此处放置用户代码以初始化页面
4第一个Ajax.net程序的实现及心得。            AjaxPro.Utility.RegisterTypeForAjax(typeof(WebForm1));
5第一个Ajax.net程序的实现及心得。        }
     下面就进入Ajax的世界了,在WebForm2.aspx.cs里写入下的一个方法
1 第一个Ajax.net程序的实现及心得。 [AjaxPro.AjaxMethod]
2 第一个Ajax.net程序的实现及心得。         public   int   add( int  a, int  b)
3 第一个Ajax.net程序的实现及心得。         {
4第一个Ajax.net程序的实现及心得。            return a+b;
5第一个Ajax.net程序的实现及心得。        }
      注意,方法必须是public的,而且方法前必须有[AjaxPro.AjaxMethod]这样才能在客户端掉用这个方法。
然后在WebForm2.aspx的HTML页面中的<head>区域中加入javascript代码来调用服务器端的方法。
 1 第一个Ajax.net程序的实现及心得。          < script >
 2 第一个Ajax.net程序的实现及心得。     function  getadd()
 3 第一个Ajax.net程序的实现及心得。     {
 4第一个Ajax.net程序的实现及心得。        var a=parseInt(document.getElementById("a").value);
 5第一个Ajax.net程序的实现及心得。        var b=parseInt(document.getElementById("b").value);
 6第一个Ajax.net程序的实现及心得。        var c=ajax.WebForm2.add(a,b).value;
 7第一个Ajax.net程序的实现及心得。       document.all.result.innerHTML=c;
 8第一个Ajax.net程序的实现及心得。       document.all.result.style.color="red";
 9第一个Ajax.net程序的实现及心得。    }

10 第一个Ajax.net程序的实现及心得。    
11 第一个Ajax.net程序的实现及心得。         </ script >

看上面的javascript代码,当我第一次写着段代码时,费了一番的功夫,当然,不是说不会,而是里面的细节问题
如,在服务器段,我定义的方法add()返回值是int,而如果直接调用也就是说如果把var c=ajax.WebForm2.add(a,b).value;改成var c=ajax.WebForm2.add(a,b)那么在页面上获得的值是[object Object]而非真正想要的结果。所以我总结了一下客户端从服务器端获得的值基本上是object类型的,所以得在后面加上.vlaue.
   string 类型
     int    类型
  DateTime类型
当然了,在以后的学习和开发过程中还会有总结的。下面是完整的代码:

 1 第一个Ajax.net程序的实现及心得。 <% @ Page language="c#" Codebehind="WebForm2.aspx.cs" AutoEventWireup="false" Inherits="ajax.WebForm2"  %>
 2 第一个Ajax.net程序的实现及心得。 <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"  >
 3 第一个Ajax.net程序的实现及心得。 < HTML >
 4 第一个Ajax.net程序的实现及心得。     < HEAD >
 5 第一个Ajax.net程序的实现及心得。         < title > WebForm2 </ title >
 6 第一个Ajax.net程序的实现及心得。         < meta  name ="GENERATOR"  Content ="Microsoft Visual Studio .NET 7.1" >
 7 第一个Ajax.net程序的实现及心得。         < meta  name ="CODE_LANGUAGE"  Content ="C#" >
 8 第一个Ajax.net程序的实现及心得。         < meta  name ="vs_defaultClientScript"  content ="JavaScript" >
 9 第一个Ajax.net程序的实现及心得。         < meta  name ="vs_targetSchema"  content ="http://schemas.microsoft.com/intellisense/ie5" >
10 第一个Ajax.net程序的实现及心得。         < script >
11第一个Ajax.net程序的实现及心得。    function getadd()
12第一个Ajax.net程序的实现及心得。    {
13第一个Ajax.net程序的实现及心得。        var a=parseInt(document.getElementById("a").value);
14第一个Ajax.net程序的实现及心得。        var b=parseInt(document.getElementById("b").value);
15第一个Ajax.net程序的实现及心得。        var c=ajax.WebForm2.add(a,b).value;
16第一个Ajax.net程序的实现及心得。       document.all.result.innerHTML=c;
17第一个Ajax.net程序的实现及心得。       document.all.result.style.color="red";
18第一个Ajax.net程序的实现及心得。    }

19第一个Ajax.net程序的实现及心得。    
20第一个Ajax.net程序的实现及心得。        
</ script >
21 第一个Ajax.net程序的实现及心得。     </ HEAD >
22 第一个Ajax.net程序的实现及心得。     < body  MS_POSITIONING ="GridLayout" >
23 第一个Ajax.net程序的实现及心得。         < form  id ="Form1"  method ="post"  runat ="server" >
24 第一个Ajax.net程序的实现及心得。             < FONT  face ="宋体" >
25 第一个Ajax.net程序的实现及心得。                 < asp:TextBox  id ="a"  style ="Z-INDEX: 101; LEFT: 176px; POSITION: absolute; TOP: 80px"  runat ="server" ></ asp:TextBox >
26 第一个Ajax.net程序的实现及心得。                 < asp:TextBox  id ="b"  style ="Z-INDEX: 102; LEFT: 176px; POSITION: absolute; TOP: 112px"  runat ="server" ></ asp:TextBox >
27 第一个Ajax.net程序的实现及心得。                 < asp:Label  id ="result"  style ="Z-INDEX: 103; LEFT: 368px; POSITION: absolute; TOP: 104px"  runat ="server" > Label </ asp:Label >< INPUT  style ="Z-INDEX: 104; LEFT: 184px; POSITION: absolute; TOP: 176px"  type ="button"
28 第一个Ajax.net程序的实现及心得。                    value ="Button"  onclick ="getadd()" ></ FONT >
29 第一个Ajax.net程序的实现及心得。         </ form >
30 第一个Ajax.net程序的实现及心得。     </ body >
31 第一个Ajax.net程序的实现及心得。 </ HTML >
32 第一个Ajax.net程序的实现及心得。

WebForm2.aspx.cs代码:
 1 第一个Ajax.net程序的实现及心得。 using  System;
 2 第一个Ajax.net程序的实现及心得。 using  System.Collections;
 3 第一个Ajax.net程序的实现及心得。 using  System.ComponentModel;
 4 第一个Ajax.net程序的实现及心得。 using  System.Data;
 5 第一个Ajax.net程序的实现及心得。 using  System.Drawing;
 6 第一个Ajax.net程序的实现及心得。 using  System.Web;
 7 第一个Ajax.net程序的实现及心得。 using  System.Web.SessionState;
 8 第一个Ajax.net程序的实现及心得。 using  System.Web.UI;
 9 第一个Ajax.net程序的实现及心得。 using  System.Web.UI.WebControls;
10 第一个Ajax.net程序的实现及心得。 using  System.Web.UI.HtmlControls;
11 第一个Ajax.net程序的实现及心得。
12 第一个Ajax.net程序的实现及心得。 namespace  ajax
13 第一个Ajax.net程序的实现及心得。 {
14第一个Ajax.net程序的实现及心得。    /// <summary>
15第一个Ajax.net程序的实现及心得。    /// WebForm2 的摘要说明。
16第一个Ajax.net程序的实现及心得。    /// </summary>

17第一个Ajax.net程序的实现及心得。    public class WebForm2 : System.Web.UI.Page
18第一个Ajax.net程序的实现及心得。    {
19第一个Ajax.net程序的实现及心得。        protected System.Web.UI.WebControls.TextBox a;
20第一个Ajax.net程序的实现及心得。        protected System.Web.UI.WebControls.TextBox b;
21第一个Ajax.net程序的实现及心得。        protected System.Web.UI.WebControls.Label result;
22第一个Ajax.net程序的实现及心得。    
23第一个Ajax.net程序的实现及心得。        private void Page_Load(object sender, System.EventArgs e)
24第一个Ajax.net程序的实现及心得。        {
25第一个Ajax.net程序的实现及心得。            // 在此处放置用户代码以初始化页面
26第一个Ajax.net程序的实现及心得。            AjaxPro.Utility.RegisterTypeForAjax(typeof(WebForm2));
27第一个Ajax.net程序的实现及心得。        }

28第一个Ajax.net程序的实现及心得。        [AjaxPro.AjaxMethod]
29第一个Ajax.net程序的实现及心得。        public int  add(int a,int b)
30第一个Ajax.net程序的实现及心得。        {
31第一个Ajax.net程序的实现及心得。            return a+b;
32第一个Ajax.net程序的实现及心得。        }

33第一个Ajax.net程序的实现及心得。
34第一个Ajax.net程序的实现及心得。        Web 窗体设计器生成的代码
54第一个Ajax.net程序的实现及心得。    }

55第一个Ajax.net程序的实现及心得。}

56 第一个Ajax.net程序的实现及心得。

你可能感兴趣的:(.net)