.net AJAX的应用示例

一、到http://ajaxpro.codeplex.com/网站上下载.net Ajax开发包,如果你的项目是.NET2.0的,则将开发包中的AjaxPro.2.dll这个DLL文件考到你的Bin下面
二、根据开发包中提供的web.config配置你项目中的web.config
其中要点是,在web.config加入如下的代码
<configuration>
  <system.web>
    <httpHandlers>
    <add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
    </httpHandlers>  
    ...
  <system.web>
</configuration>

三、示例代码
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 id="Head1" 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)" />
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        </div>
    </form>

    <script type="text/javascript">
    function getServerTime() 
    {//MyDemo._Default.GetServerTime()得到从服务器传来的数据是object,要写.value
        alert(MyDemo._Default.GetServerTime().value);
    } 
    function add(a,b) 
    {//把文本框的值转换成int
        var a1 = parseInt(a); 
        var b1 = parseInt(b); 
        //第1、2参数为服务器方法所需要的参数,后面一个是如果服务器返回数据 
        //客户端要处理这些数据的js函数名,他有个参数就是从服务器传来的数据  
        MyDemo._Default.AddTwo(a1,b1,getAdd);
    }
    function getAdd(rel) 
    {
        //要加上.value
        alert(rel.value);
        document.getElementById("TextBox1").value= 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; 
        }
    }
}

注意:
1、在后台代码的Page_Load中要注册该类
2、AjaxMethod服务器端方法和普通的服务器方法唯一不同的地方就是他必须要在方法的上面添加个[AjaxPro.AjaxMethod]

你可能感兴趣的:(.net,UI,Ajax,应用服务器,Web)