ICallbackEventHandler

如何:实现ICallBackEventHandler(从客户端调用服务器端代码) 关于如何实现ICallbackEventHandler的简单指南 立即下载
ICallbackEventHandler 
ICallbackEventHandler可以说是ajax的关键技术,现在可以使用vs2.0的接口,来实现ajax的效果。
refer to:http://www.cnblogs.com/soso/archive/2006/06/08/420687.html
六步使用ICallbackEventHandler实现无刷新回调
    AJAX技术所提倡的无刷新回调,在原来的技术中需要写大量的JavaScript代码或使用一些AJAX框架,使得开发效率和可维护性大大降低。其实ASP.NET2.0中,已经提供了这样的接口,这就是ICallbackEventHandler。
    关于ICallbackEventHandler网上已经有很多文章介绍了,这篇实为画蛇添足。
ICallbackEventHandler存在于System.Web.UI中,我们先做一个非常简单的例子来试用一下。
   第一步,在VS2005中建立一个新的WEB窗件。
   第二步,在ASPX中,放上一段HTML代码(如下):

1<body>
2    <form id="form1" runat="server">
3    <div>
4        <button onclick="CallServer()">CallServer</button>
5    </div>
6    </form>
7</body>
   第三步,然后在<HEAD></HEAD>中放入一段JavaScript脚本:

 1 <script type="text/javascript">
 2     function CallServer()
 3     {
 4         var product = "测试";
 5         <%= ClientScript.GetCallbackEventReference(this, "product", "ReceiveServerData",null)%>;
 6     }
 7    
 8     function ReceiveServerData(rValue)
 9     {
10         alert(rValue);
11     }
12 </script>
 
   第四步,在此ASPX的后台CS代码中,继承ICallbackEventHandler接口,并实现接口中的两个方法:
 ICallbackEventHandler.GetCallbackResult()
    和
 ICallbackEventHandler.RaiseCallbackEvent(string eventArgument)
   第五步,增加一个变量CallBackValue,并修改接口的两个方法为:

 1 private string CallBackValue = string.Empty;
 2   
 3 string ICallbackEventHandler.GetCallbackResult()
 4 {
 5  return CallBackValue + ",ok";
 6 }
 7
 8 void ICallbackEventHandler.RaiseCallbackEvent(string eventArgument)
 9 {
10  this.CallBackValue = eventArgument;
11 }
12
 
    第六步,运行,界面上会出现一个按钮,点击后,会将“测试”这个字符串传至后台,后台C#代码将字符串加上“,OK”后返回给客户端的JavaScript代码,并显示。
    以上六步,就可以实现无刷新回调了。现在,我们来分析一下几段代码。
    先看第三步中的JavaScript代码,其中的CallServer()方法中进行了回调,回调的语句为:
<%= ClientScript.GetCallbackEventReference(this, "product", "ReceiveServerData",null)%>;
   
    里面四个参数中第二个参数指定将product这个JavaScript中的字符串变量传回后台,第三个参数指定了从后台返回时接收返回信息的JavaScript方法ReceiveServerData(string Value)。
    第五步中后台的两个方法,一个ICallbackEventHandler.RaiseCallbackEvent(string eventArgument)用来接收前台JavaScript中传来的字符串变量,并赋值给内部变量this.CallBackValue,另一个方法ICallbackEventHandler.GetCallbackResult()将变更后的内部变量this.CallBackValue返回给前台JavaScript方法ReceiveServerData(string Value)。
    调用的顺序是: (前台)CallServer() --> (后台)ICallbackEventHandler.RaiseCallbackEvent(string eventArgument) --> (后台)ICallbackEventHandler.GetCallbackResult() --> (前台)ReceiveServerData(string Value)。
    整个调用过程非常简单,而其中非常关键的一步是第三步的
<%= ClientScript.GetCallbackEventReference(this, "product", "ReceiveServerData",null)%>;
完整的测试代码:
aspx:
==============
<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>ICallbackEventHandler demo</title>
    <script type="text/javascript">
        function CallServer()
        {
            var product="hello";
            <%=ClientScript.GetCallbackEventReference(this,"product","ReceiveServerData",null) %>;
        }
        function ReceiveServerData(rValue)
        {
            alert(rValue);
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <input id="Button1" type="button" value="CallServer" onclick="CallServer()" />
    </div>
    </form>
</body>
</html>
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;
public partial class _Default : System.Web.UI.Page , ICallbackEventHandler
{
    private string CallBackValue = string.Empty;
    protected void Page_Load(object sender, EventArgs e)
    {
    }
   #region ICallbackEventHandler 成员
    string ICallbackEventHandler.GetCallbackResult()
    {
        //throw new Exception("The method or operation is not implemented.");
        return CallBackValue + ", i am server";
    }
    void ICallbackEventHandler.RaiseCallbackEvent(string eventArgument)
    {
        //throw new Exception("The method or operation is not implemented.");
        this.CallBackValue = eventArgument;
    }
ICallBackEventHandler(ajax应用) ICallBackEventHandler(ajax应用),ajax应用实例。。 立即下载

相关推荐

ASP.NET基于ICallbackEventHandler的轻量级异步回调

ASP.NET基于ICallbackEventHandler的轻量级异步回调 优快云学生大本营文章代码

Asp.Net 之ICallBackEventHandler

首先说下ICallBackEventHandler,这个接口是什么意思,用官方的述语是用于指示控件可以作为服务器的回调事件的目标. 看着这个解释是挺晕的,那我们就慢慢一步一步来理解. 上面提到了回调这个词,那我们是不是想到一个与之很近的在Asp.Net里面很熟悉的词回发.先说下回发. 在 ASP.NET 网页的默认模型中,用户会与页交互,单击按钮或一些其他操作...

anglie5719的博客 291

Calibre LVS效率翻倍秘籍:用Hierarchical Flow处理亿级晶体管设计的5个关键阶段

本文详细解析了如何利用Hierarchical Flow技术提升Calibre LVS在亿级晶体管SoC设计中的验证效率。通过五个关键阶段的分层验证流程,包括顶层抽象验证、模块级独立验证等,可显著降低内存占用40-60%,缩短迭代周期50-70%,特别适用于SMIC等先进工艺节点。文章还分享了算力资源优化、并行化处理等实战技巧,帮助工程师应对大规模芯片验证挑战。

sam99的博客 768

js 调用后台方法 ICallbackEventHandler 接口实现局部刷新实例 ClientScript的GetCallbackEventReference方法实现局部刷新

ICallbackEventHandler:接口系统。 Web.UI.ICallbackEventHandler 用于指示控制可以在服务器上的回调事件的目标。 获取一个对客户端函数的引用;调用该函数时,将启动一个对服务器端事件的客户端回调。 ClientScriptManager.GetCallbackEventReference (Control, String(argument)

蓦然 寂静 913

抖音a_bogus参数逆向避坑指南:从环境检测到XHR请求的全流程解析

本文详细解析了抖音a_bogus参数在v1.0.1.19版本下的逆向工程全流程,重点介绍了如何通过PyV8Env框架进行有效的补环境操作,以绕过严格的环境检测。内容涵盖从环境初始化、关键事件触发到模拟XHR请求获取签名的完整步骤,并提供了可运行的Python代码示例和常见检测点的避坑指南,帮助开发者稳定生成有效的a_bogus参数。

tech5的博客 600

汽车电子电气架构诊断功能开发全流程解析

文章作者是一位在魔都工作的汽车电子工程师,坚持长期主义,并分享了一段关于“钝感力”的文字,强调面对困境的韧劲和耐力,以及不被外界噪音干扰的重要性。文章详细介绍了汽车电子电气架构(EEA)的诊断功能开发流程,涵盖设计、实现、生产、运维及售后五大环节。作者从技术实现维度展开,详细描述了诊断系统架构设计、供应商功能实现、产线集成与标定、云端数据交互以及售后诊断应用场景。文章还总结了技术演进趋势,包括AI融合、OTA 2.0和区块链应用等,强调了标准化协议与工具链在全链路诊断能力中的重要性。最后,作者鼓励读者相信时

Soly_kun的博客 1220

c# 通过ICallbackEventHandler 实现页面无刷新

创建服务器回调方法 在服务器代码中,必须创建一个实现 RaiseCallbackEvent 方法的方法和一个实现 GetCallbackResult 方法的方法。RaiseCallbackEvent 方法接受单个字符串参数,而不是通常用于事件处理程序的常见的两个参数。该方法的部

Keep Moving--Leo Li 1661

使用Avalonia跨Linux平台

Avalonia类似使用WPF的技术方法来开发,所以,需要会使用WPF,其中的一些语法和写法与WPF有所区别,但是他们相差不大,会WPF的话,基本上可以看看文档后,完全掌握Avalonia的使用,从而达到跨平台开发的任务。其实写法有些不一样,可以参考官网的说明,进行修改。2. 安装完成后,重启VS2022,我们可以看到1和2,其中1是使用MVVM模式开发,2是普通模式开发,我们选择2,建立项目。9.直接双击粉红色的文件,进行安装,输入密码,但是美中不足的是,好像没有图标,图标似乎需要单独去设置。

故里2130 1万+

ICallbackEventHandler 接口

    ICallbackEventHandler 接口 原形为    public interface ICallbackEventHandler    {        // 摘要:        //     返回以控件为目标的回调事件的结果。        //        // 返回结果:        //     回调的结果。        string GetCallback

vc_help的专栏 351

【东华大学oj】找到最大数(一维数组->中等)

一天,老师布置了一个作业,要求对一串数字各不相同的数字串进行排序,大的在前,小的在后。接着,我从数字串中的第二个数字开始往后找,找到最大的一个,然后与第二个数字交换,这样的话我就能够确定排序后数字串中的第二个数字;明明研究发现,他的这个想法中最重要的一环就是在一串数字中找到最大的那个,然后与第一个数字交换,可是明明毕竟刚刚开始学习程序设计不久,无法写出较复杂的程序,所以明明想让你这位程序设计专家帮他的忙,帮助他把这段核心程序写出来,然后明明只需模仿着写就可以了。时间限制: 1S类别: 一维数组->中等。

的博客 524

产品必备技能(十):如何绘制原型图?先要绘制页面流程图+页面原型图!附实操原型图、流程图实例(抖音)

文章目录目标题目实操步骤模板实操【抖音】APP的视频发布功能页面流程绘制页面流程图合格标准绘制页面原型图合格标准 目标 新入行的产品经理都对原型抱有向往的心境,但是有经验的产品经理不会一上来就画原型,而是先画页面流程再来画原型。通过学习,你将学会如何用页面流程图规划用户行为路径、如何借助原型识别问题、减少风险、有效沟通。 题目 任意选择一款你喜欢的产品,体验某个功能,下载并梳理此功能至少5个以上的页面流程跳转点(后面会解释),还原2 - 3个主要界面的低保真原型图。 实操步骤 可使用手绘以及Process

汪雯琦的博客 4842

c#通过ICallbackEventHandler接口实现回调

作者:PeterXu  来源:Blog.优快云  Blog: http://blog.youkuaiyun.com/peterreg/版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明,否则将追究法律责任。本文地址:http://blog.youkuaiyun.com/peterreg/archive/2008/05.aspxICallbackEventHandler的定义很简

PeterXu的专栏 1237

【OAG vs RAG】RAG的“语义崩溃“:为什么你的知识库越大,AI越笨?_语义检索oag-优快云博客

19.9 元(AI 编程 / Agent 实战 | 本文同主题系统课程)·49.9 元(AI 时代成长方法论)。单篇不过瘾?订阅解锁全量源码、实战与答疑;文末附资料包领取方式 ↓图1:RAG语义崩溃概念图。

求知若渴、虚心若愚 73

使用ICallbackEventHandler实现无刷新回调

AJAX技术所提倡的无刷新回调,在原来的技术中需要写大量的JavaScript代码或使用一些AJAX框架,使得开发效率和可维护性大大降低。其实ASP.NET2.0中,已经提供了这样的接口,这就是ICallbackEventHandler。 关于ICallbackEventHandler网上已经有很多文章介绍了,这篇实为画蛇添足。 ICallbackEventHandle...

diejie3439的博客 178

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

ICallbackEventHandler实现回调功能

http://blog.youkuaiyun.com/luchuanbo/archive/2009/04/24/4107849.aspx 接口:System.Web.UI.ICallbackEventHandler函数原型:public string GetCallbackEventReference ( Control control,string argument,string clientCal

popo0027的专栏 501

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

ICallbackEventHandler的一个例子

前台代码: 1<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="_Default"%>23<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3....

diankenlu8603的博客 120

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

利用ICallbackEventHandler接口实现无刷新的方法(1)

 在ASP.NET 2.0里面,服务器端任何实现了System.Web.UI.ICallbackEventHandler接口的控件, 都可以通过RaiseCallbackEvent()方法来处理从页面上的JS脚本传递过来的请求和数据,处理后, 再将结果传回给页面。这项能力的底层仍然是XMLHTTP。下面是一个简单的演示:在页面上,我们放上两个文本框和一个按钮:<INPUT id="txtM

IT漫步者 862

六步使用ICallbackEventHandler实现无刷新回调

<br />最近研究调用服务器方法的解决方法,百度到这个<br />源:http://www.cnblogs.com/vcool/archive/2008/02/27/1083683.html<br /> <br /> <br />AJAX技术所提倡的无刷新回调,在原来的技术中需要写大量的JavaScript代码或使用一些AJAX框架,使得开发效率和可维护性大大降低。其实ASP.NET2.0中,已经提供了这样的接口,这就是ICallbackEventHandler。 <br />     关于ICallba

xh491464429的专栏 1417

MSDN勘误-关于ICallbackEventHandler接口

<!--google_ad_client = "pub-2883931001662191";/* 728x15, 创建于 08-5-8 */google_ad_slot = "7898632029";google_ad_width = 728;google_ad_height = 15;//--><script type="text/javascript"src="

liu_binq63的专栏 1059

ICallbackEventHandler使用

后端:页面需继承ICallbackEventHandler protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string strRefrence = string.Empty; ...

weixin_34290000的博客 100
上一篇: AJAX下载及使用
下一篇: .NET引用API
FollowIT
博客等级 码龄21年 31粉丝 71原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值