• 使用AjaxPro实现ajax效果


            在上一篇使用XMLHttpRequest 实现ajax效果中,介绍了使用XMLHttpRequest实现ajax效果,本篇将使用AjaxPro.Net框架实现同样的功能:在客户端异步获取服务端时间!AjaxPro.Net是一个优秀的.net环境下的ajax框架,用法很简单,可以查阅相关资料,简单说有几点:
    1)添加AjaxPro.dll应用;
    2)配置web.config;
    3)写服务端方法,加[AjaxPro.AjaxMethod]申明;
    4)客户端调用服务端方法;(ajaxpro最大的优点:客户端js中直接调用服务端方法)
    客户端代码:

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        
    <title>AjaxPro onLoading</title>
    </head>
    <body>
        
    <form id="form1" runat="server">
            
    <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)" />

            
    <script type="text/javascript" defer="defer">
            
            
    // loading效果
            AjaxPro.onLoading = function(b) 
            
    {
                
    var a = document.getElementById("loadinfo");
                a.style.visibility 
    = b ? "visible" : "hidden";
            }


            
    function GetTime() 
            
    {
                
    // 调用服务端方法
                //调用方法:类名.方法名 (参数为指定一个回调函数)
                myLoad.GetServerTime(callback);
            }


            
    function callback(res)  //回调函数,显示结果
            {
                alert(res.value);
            }

            
    </script>
        
    </form>
    </body>
    </html>

    注:javascript代码放在form内结束处,确保可以访问AjaxPro对象,否则提示AjaxPro未定义;因为在服务端page_load输出js到页面后才到找到AjaxPro对象;且javascript的defer="defer",页面加载时先不执行此代码。
    服务端代码:

    public partial class myLoad : System.Web.UI.Page
    {
        
    protected void Page_Load(object sender, EventArgs e)
        
    {
            AjaxPro.Utility.RegisterTypeForAjax(
    typeof(myLoad)); //注册ajaxPro,括号中的参数是当前的类名
        }


        [AjaxPro.AjaxMethod] 
    //申明是ajaxPro方法
        public string GetServerTime()
        
    {
            System.Threading.Thread.Sleep(
    2000);
            
    return DateTime.Now.ToString();
        }

    }

    AjaxPro.Net实现的页面加载onLoading效果:
          
    示例代码下载:/Files/chy710/ajaxPro.rar
    环境:AjaxPro2.dll 6.10.6.2  asp.net2.0

  • 相关阅读:
    [thinkphp] 是如何输出一个页面的
    [thinkphp] 获取根目录绝对路径
    onethink 插件模板定位
    win7 安全模式开启声音
    百度贴吧楼层评论地址
    第一天问题
    [php] 解析JSON字符串
    NDK编译时两 .so之间调用问题
    CDN问题积累
    C++模板特化
  • 原文地址:https://www.cnblogs.com/chy710/p/718715.html
Copyright © 2020-2023  润新知