博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用AjaxPro实现ajax效果
阅读量:6336 次
发布时间:2019-06-22

本文共 1666 字,大约阅读时间需要 5 分钟。

      在上一篇中,介绍了使用XMLHttpRequest实现ajax效果,本篇将使用框架实现同样的功能:在客户端异步获取服务端时间!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效果:

       
示例代码下载:
环境:AjaxPro2.dll 6.10.6.2  asp.net2.0

 

本文转自chy710博客园博客,原文链接:http://www.cnblogs.com/chy710/archive/2007/04/18/718715.html
,如需转载请自行联系原作者
你可能感兴趣的文章
mysql [ERROR] Can't create IP socket: Permission denied
查看>>
PBRT笔记(4)——颜色和辐射度
查看>>
CustomView的手势缩放总结
查看>>
linux复制指定目录下的全部文件到另一个目录中,linux cp 文件夹
查看>>
CentOS yum安装mysql
查看>>
OceanBase笔记1:代码规范
查看>>
[Algorithms] Longest Increasing Subsequence
查看>>
MAC下GitHub命令操作
查看>>
springboot之filter/listener/servlet
查看>>
Thinkphp --- 去掉index.php
查看>>
Spring+SpringMVC+MyBatis深入学习及搭建(十一)——SpringMVC架构
查看>>
oracle故障解决
查看>>
tcpdump
查看>>
数据库内存结构
查看>>
利用Shell开发跳板机功能脚本案例
查看>>
51CTO的技术门诊谈OSSIM
查看>>
六年心路成长 —— 做自己
查看>>
ios电话拨打进行监听电话状态
查看>>
京东基于Spark的风控系统架构实践和技术细节
查看>>
什么时候使用CountDownLatch
查看>>