AjaxPro.net 做asp.netAjax效果实例以及错误分析(转载)

来源:互联网 发布:淘宝怎么买虚拟物品 编辑:程序博客网 时间:2024/05/16 04:38

这两天一直研究asp.net下Ajax技术,非了半天劲,也在网上找了几个例子 就是做不出来,气死我了。今天好不容做出来了 ,就贴出来大家分享一把,希望对大家有点帮助。此asp.net的Ajax效果的用的是AjaxPro.net框架,请大家先到网上下载AjaxPro.2.dll

下载地址:http://download.csdn.net/source/174477

添加引用:网站 - 添加引用 - 浏览 - 选中 AjaxPro.2.dll

配置Web.Config文件:

<httpHandlers>

<add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>

</httpHandlers>

前台代码以及注释:
    <form id="form1" runat="server">
        <script type="text/javascript" defer="defer">

      //JavaScript代码一定以放在Form里面 否则会引起AjaxPro 未定义错误
        
        // loading效果
        AjaxPro.onLoading = function(b)
        {
            var a = document.getElementById("loadinfo");
            a.style.visibility = b ? "visible" : "hidden";
        }

        function GetTime()
        {
            // 调用服务端方法 AjaxPro的好处就在于可以通过Js调用后台的方法。强
            //调用方法:类名.方法名 (参数为指定一个回调函数) 这里值得是服务端的类名和方法名
            ajaxpro.GetServerTime(callback);   //callback参数是指回调函数 如下
        }

        function callback(res) //回调函数,显示结果
        {
            alert(res.value);
        }
        </script>
        <div id="loadinfo" style="visibility:hidden;position:absolute;left:0px;top:0px;background-color:Red;color:White;">Loading...</div>
        <input id="Button1" type="button" value="Get ServerTime" onclick ="javascript:GetTime();void(0)" />
    </form>

服务端代码:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
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;
using AjaxPro;

public partial class ajaxpro : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        AjaxPro.Utility.RegisterTypeForAjax(typeof(ajaxpro));
    }
    [AjaxPro.AjaxMethod]

//声明为Ajax方法 如果丢掉此处 可能引起前台 ajaxpro.GetServerTime “对象不支持此方法和属性” 的javascript的错误
    public static string GetServerTime()
    {
        System.Threading.Thread.Sleep(2000);
        return DateTime.Now.ToString();
    }
}

常见错误:

Ajaxpro 未定义:

1.没有将AjaxPro加载放在form1以内,有篇文章写得不错:'AjaxPro'未定义错误的原因&javascript顺序执行&AjaxPro机制.

2.忘记在服务器的web.config里面添加Handler了:

   在<system.web>节点下加入:        

      <httpHandlers>
            
<addverb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2"/>
        
</httpHandlers>

3.ajaxpro.GetServerTime “对象不支持此方法和属性”

GetServerTime 前没有声明为Ajax方法 添加:    [AjaxPro.AjaxMethod]

转载地址:http://hi.baidu.com/lanxigang/blog/item/f3e3f8fa09de72d6b58f31e9.html
原创粉丝点击