• ----:)欢迎访问源码网(:----
    • 首页
    • 博客
    • 学院
    • 下载
    • 论坛
    • 影视
    • 发布源码
    • RSS
    • ITPig
    • 笑话网
    • 百家姓
    • 繁體中文

源码网 - 中国第一源码门户
选择镜像:网通镜像 - 电信主站
  • 首 页
  • 新闻动态
  • 网站运营
  • 网页制作
  • WEB开发
  • 编程开发
  • 图像媒体
  • 操作系统
  • 数据库
  • 服务器
热门搜索 优化 SEO 故事 cms IIS7 MySQL 个人 AdSense 主题推广 | 文章搜索: 高级搜索
会员登录/控制面版您的位置: 学院首页 >> WEB开发 >> .NET 开发 >> 详细内容
 

推荐文章

 
 

热点文章

  • FckEditor远程图片下载插件
  • TFS(Team Foundation Server)使用经验
  • IIS过滤器实现.NET程序不破解DLL替换字符串一法
  • 为ASP.NET封装的SQL数据库访问类
  • ASP.NET2.0中文验证码的实现
  • Url地址重写,利用HttpHander手工编译页面并按需生成静..
  • ASP.NET学习笔记一——ASP和ASP.NET比较
  • 使用HtmlInputHidden 控件在本页面保持状态和跨页面传..
  • ASP.Net发邮件
  • Silverlight 2.0中文学习资源集萃
  • WinForm中使用XtraGrid控件,实现在界面中动态修改列显..
  • 解析ASP.NET木马文件操作
 
 

相关文章

  • ASP.NET 2.0的开源论坛YetAnotherForum 1.9.0
  • ASP.NET AJAX中的非同步PageMethod调用
  • 深入理解 ASP.NET 动态控件 (Part 6 - 模板控件)
  • 深入理解 ASP.NET 动态控件 (Part 5 - 编译实验)
  • 深入理解 ASP.NET 动态控件 (Part 4 - 解决问题)
  • 深入理解 ASP.NET 动态控件 (Part 3 - 页面生命周期)
  • 深入理解 ASP.NET 与客户端缓存 (Part 2 - ASP.NET 支..
  • 深入理解 ASP.NET 与客户端缓存 (Part 1 - HTTP 协议)
  • 解析ASP.NET木马文件操作
  • ASP.Net发邮件
  • asp.net datagrid实现多层表头
  • ASP.Net状态管理
 
 

百度搜索

 
 

ASP.NET 2.0当中的Call Back机制

  • 阅览次数:
  • 文章来源: http://blog.csdn.net/dotnetWalker/archive/2007/11/14/1883712.aspx
  • 原文作者:
  • 整理日期: 2008-07-14
  • 发表评论
  • 字体大小:
  • 小
  • 中
  • 大

连续几篇介绍ASP.NET当中的AJAX实现方式,主要的目的也是让读者可以有所比较,理解这几种作法之间的差异。

最后一个要介绍的,当然就是ASP.NET当中的Call Back机制。Call Back是ASP.NET 2.0当中内建的功能,不需要安装ASP.NET AJAX依旧可以相当有效率的呈现出AJAX效果。

我们看下面的页面,我们在页面上放置另一个TextBox2和HtmlButton(ID为CallBackButton,并设为在服务器端运行:


接着我们键入下面的代码:


我们先看运行的结果,您会发现,单击下方的HtmlButton,则网页不需要postback,TextBox2里面的Server端时间已经更新了:

怎么完成的呢?
这段代码必须好好解释一下,首先代码第三行有一个很不一样的地方:

0001:Partial Class _Default
0002: Inherits System.Web.UI.Page
0003: Implements System.Web.UI.ICallbackEventHandler

这表示这张.aspx网页支援Call Back机制(我们待会再来解释Call Back机制)。而因为网页支援Call Back机制,因此必须实现下面两个项目:


我们看先前的Form_Load代码:


请特别注意21-25行代码,23行的“GetCallbackEventReference”指令,建立了CallBack机制(ASP.NET 2.0会自动产生一段JavaScipt的CallBack代码),在第25行我们将此机制(JavaScript)挂到HtmlButon上。

Call Back的整个原理是:
1.在ASP.NET代码中,利用“GetCallbackEventReference”产生一段JavaScript的Call Back指令。
2.将这段Call Back指令挂到某个Html控件上,利用这段JavaScript指令在不postback的情况下,将数据(参数)回传到Server(参数包含下表中定义的argument, clientCallbackProc…) 。
3.Server端(.aspx.vb程式)接收到数据(参数)后进行处理,处理完后回呼(Call Back)Client端的JavaScript。
4.Client端的JavaScript函数,收到回呼的结果,动态更新网页内容。
就这样,不换页的情况下,我们就可以完成网页更新的效果。

我们回顾整个Call Back机制的流程,从开发人员的角度,看整个Call Back机制的运作方式:


您会发现分为下面几个步骤:
※步骤A:Client端启动Call Back机制。启动的方式是利用GetCallbackEventReference所建立的WebForm_DoCallback函数(JavaScript)。
※ 步骤B:Server端的RaiseCallbackEvent接收到Client端传入的参数,开始运作,这时多半处理一些数据库IO,更新Server端的状态。
※步骤C:GetCallbackResult被调用,这时候多半用来建立要回传给Client端的HTML码,例如一张表格,或是一段文字。
※ 步骤D:Client端接收到从GetCallbackResult传来的值(多半是刚才Build出来的HTML码),Client端的 ReceivedData函数是我们自己在Page_Load里面以RegisterStartupScript建立的,可以通过这个函数将接到的 HTML以JavaScript塞入页面中。

整个进程就完成了一个Call Back动作,可以达到不用换页(Postback)就更新页面的效果。

上一篇:PHP使用zlib扩展实现页面GZIP压缩输出
下一篇:构建支持Master/Slave读写分离的数据库操作类
  • 网友评论:
  • 查看所有评论
  • 我要发表评论
您的网名:
留言主题:
你要发表的内容:

 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 发布软件 | 帮助中心 | 源码论坛

Copyright © 2005-2007 CodePub.Com  程序支持:木翼  滇ICP备05005971号