Start with Ajax.NET

转载 2006年06月09日 17:44:00
Ajax.NET Professional

Microsoft.NET Framework 2.0

Ajax.net Professional简介:

 Ajax.net 是一个针对.NET平台Ajax的服务端框架(微软也有一个称之为Atlas的框架,关于Atlas请参看Dflying Chen的Blog),它能让你在客户端调用.NET方法,你还可以获得相关的源代码.不过它的许可协议不是很明确。

联系原作者: http://weblogs.asp.net/mschwarz/contact.aspx

原作者的Blog: http://weblogs.asp.net/mschwarz/

如果你有问题或是找到了Bug请访问: Google group Ajax.NET Professional.

原作者的邮件地址:
Michael Schwarz
Meisenweg 2
90547 Stein, Germany


下载Ajax.NET Pro(5.11.4.2),包括针对.NET1.1(C#)和.NET2.0(C#/VB.NET).

 

让我们先从这里开始吧:Ajax.NET新手指引

 

首先,添加对AjaxPro.2.dll的引用(对于.NET Framework 1.1 添加AjaxPro.dll)

然后,添加配置文件web.config,添加如下几行:

 

 1<?xml version="1.0" encoding="utf-8"?>
 2<configuration>
 3  <appSettings/>
 4  <connectionStrings/>
 5  <system.web>
 6    <httpHandlers>
 7      <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2"/>
 8    </httpHandlers>
 9    []
10  </system.web>
11</configuration>
12

 

意思是所有的ajaxpro/*.ashx请求都由Ajax.PageHandlerFactory处理,而不是由默认的System.Web.UI.PageHandlerFactory处理程序工厂来处理。


现在我们写个AjaxMethod服务器端方法,他和普通的服务器方法唯一不同的地方就是他必须要在方法的上面添加个[AjaxPro.AjaxMethod],代码如下:

1    [AjaxPro.AjaxMethod]
2    public int AddTwo(int firstInt, int secondInt)
3    {
4        return firstInt + secondInt;
5    }
 

 

要想在客户端使用Javascript调用.NET方法,你还必须注册这些方法:

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

 

最后,我们再写客户端脚本来调用服务器方法(代码里有详细的注释)。

以下是前台Default.aspx代码: 

 1<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
 2
 3<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 4<html xmlns="http://www.w3.org/1999/xhtml">
 5<head id="Head1" runat="server">
 6    <title>Untitled Page</title>
 7</head>
 8<body>
 9    <form id="form1" runat="server">
10        <div>
11            <input id="Text1" type="text" onchange="add()"/>
12            +
13            <input id="Text2" type="text" onchange="add()"/>
14            =
15            <span id="result"></span>
16        </div>
17    </form>
18
19    <script type="text/javascript">   
20    function add()
21    {
22    var a=document.getElementById('Text1').value;
23    var b=document.getElementById('Text2').value;
24    var a1 = parseInt(a);
25    var b1 = parseInt(b);
26   
27    _Default.AddTwo(a1,b1,getAdd_callback);   // 异步调用服务器端方法 
28    }

29
30    function getAdd_callback(rel)
31    {
32       //MyDemo._Default.GetServerTime()得到从服务器传来的数据是object,要写.value
33        document.getElementById("result").innerHTML=rel.value;
34    }

35
36    </script>
37
38</body>
39</html>
40

 

以下是完整的后台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;

public partial class _Default : System.Web.UI.Page 
{
    [AjaxPro.AjaxMethod]
    
public int AddTwo(int firstInt, int secondInt)
    
{
        
return firstInt + secondInt;
    }
 
 
    
protected void Page_Load(object sender, EventArgs e)
    
{
        AjaxPro.Utility.RegisterTypeForAjax(
typeof(_Default)); 
    }

}

 

 

轻松掌握Ajax.net系列教程一:部署AJAX.NET

所有内容均取自ASP.NET开发队的Joe Stagner所做的"How Do I?"系列视频教程。在下面的讲解里我会列出所对应的视频教程,有能力的朋友可以自行观看,如果觉得听不懂老外说啥,也可以来参...
  • jason_dct
  • jason_dct
  • 2013年01月26日 22:01
  • 565

Oracle高级篇之start with关键字的用法

Oracle高级篇之start with关键字的用法 一,基本语法 SELECT ... FROM    + 表名 START WITH         + 条件1 CONNECT ...
  • reggergdsg
  • reggergdsg
  • 2016年11月06日 18:26
  • 5191

开启服务的命令-Net start命令详解

开启服务的命令-Net start命令详解  开启服务窗口的命令:开始-运行-cmd-services.msc 本文主要讲开启服务的命令: net start [服务名] -枚举开启的服务(...
  • haiross
  • haiross
  • 2013年10月22日 17:09
  • 16283

批处理命令学习笔记——Start命令

Start 命令 启动另一个窗口运行指定的程序或命令,所有的DOS命令和命令行程序都可以由start命令来调用。 语法: START ["title"] [/Dpath] [/I] ...
  • qq_33336155
  • qq_33336155
  • 2016年12月08日 13:30
  • 1462

关于多线程run和start的区别

先简单描叙一下创建线程的方式通过继承TH
  • chuming0311
  • chuming0311
  • 2014年04月23日 00:02
  • 4592

Unity3D脚本中Start()和Awake()的区别

Unity3D初学者经常把Awake和Start混淆。 简单说明一下,Awake在MonoBehavior创建后就立刻调用,Start将在MonoBehavior创建后在该帧Update之前,在该M...
  • jbjwpzyl3611421
  • jbjwpzyl3611421
  • 2013年10月13日 15:31
  • 13930

Android笔记之Activity生命周期实测

一. Activity启动过程09-10 18:40:48.789 2602-2602/? I/PMC﹕ --InstallReceiver:actvity=com.example.qw.tes...
  • quwei3930921
  • quwei3930921
  • 2015年09月11日 11:55
  • 1090

.bat文件中start, pause,goto以及rem的用法

.bat文件中start, pause,goto以及rem的用法 2013-06-06 17:30 14924人阅读 评论(0) 收藏 举报 Windows B...
  • csnewdn
  • csnewdn
  • 2016年12月29日 11:45
  • 347

start()与awake()

Unity3D初学者经常把Awake和Start混淆。 简单说明一下,Awake在MonoBehavior创建后就立刻调用,Start将在MonoBehavior创建后在该帧Update之前,在...
  • staticxx
  • staticxx
  • 2016年05月16日 13:55
  • 54

MySQL实现类似Oracle中start with功能

转载:http://blog.csdn.net/nimeijian/article/details/50425715 -- 获取父节点树:   DROP FUNCTION IF EXISTS...
  • u012102536
  • u012102536
  • 2017年03月03日 11:53
  • 1057
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Start with Ajax.NET
举报原因:
原因补充:

(最多只允许输入30个字)