在最近的项目实现中遇到了一个问题

在数据处理的过程中,需要请求获取数据,再做处理之后,可以在页面及时获取数据

开始时,首先想到的到是写Ajax请求,但在做后续数据处理后,处理获取数据等操作,感觉实现起来相当麻烦

后来选择使用的回调的方式实现

ICallbackEventHandler 接口适用于回调处理的操作,后来经过了解,才知道以前经常使用的控件GridView、DetailsView、TreeView都是实现了这个接口(>_<)

ICallbackEventHandler接口封装了两个方法:

RaiseCallbackEvent(string eventArgument)//前端脚本触发后,自动执行该方法

GetCallbackResult()//回调函数,获取或操作数据

应用示例:

     public partial class CallBackTest : System.Web.UI.Page,ICallbackEventHandler
{
public string callBackEventHandler = "";
protected void Page_Load(object sender, EventArgs e)
{
callBackEventHandler = ClientScript.GetCallbackEventReference(this, "arg", "rServer", "context");
} protected static string _result = ""; public string GetCallbackResult()
{
return _result;
} public void RaiseCallbackEvent(string eventArgument)
{
string[] strDataList = eventArgument.Split('|');
string[] strDataItem = strDataList[].Split('=');
string name = strDataItem[];
string value = strDataItem[];
_result = string.Format("Name:{0},Vlaue:{1}", name, value);
}
}

JS

      function  rServer(arg,context) {
//这个是回调成功后的处理函数
alert(arg);
}
function raiseEvent(arg, context) {
//调用函数
var data ="测试数据=1|测试数据=2|测试数据=3|测试数据=4|测试数据=5";
arg = data;
<%= callBackEventHandler %>
}

更多应用示例

https://msdn.microsoft.com/zh-cn/library/system.web.ui.icallbackeventhandler(v=vs.110).aspx

ICallbackEventHandler 接口实现回调处理功能的更多相关文章

  1. 使用ICallbackEventHandler接口更高效实现Ajax

    使用ICallbackEventHandler接口可以方便地高效地实现Ajax功能 1.处理页面需实现ICallbackEventHandler接口,此接口有两个方法 a.GetCallbackRes ...

  2. 微信公众平台企业号验证接口、回调 PHP版

    微信公众平台企业号验证接口.回调 PHP版,本人为了解决这个企业号的验证和发送消息的问题,整整研究了几天时间,由于微信企业号刚推出来,网上资料太少了!后来在一些朋友的帮助下和本人重复调试完好下,最终整 ...

  3. java 接口的回调

    Example6_3.java interface ShowMessage { void 显示商标(String s); } class TV implements ShowMessage { pub ...

  4. rockchip 3128 平台USB接口鼠标U盘功能调试日记

    2019-04-12 关键词: rk3128 OTG.rk3128外接鼠标U盘.RK外接鼠标U盘 本篇文章是笔者根据自己当前所掌握知识对 rk3128 平台 USB 接口接鼠标实现输入功能调试的一个记 ...

  5. Java8函数接口实现回调及Groovy闭包的代码示例

    本文适用于想要了解Java8 Function接口编程及闭包表达式的筒鞋. 概述 在实际开发中,常常遇到使用模板模式的场景: 主体流程是不变的,变的只是其中要调用的具体方法. 其特征是:   Begi ...

  6. 详解C#中通过委托来实现回调函数功能的方法

    委托:类型安全的指向函数的指针 使用步骤 1:声明一个委托 delegate string DelString(string s) 2:定义一个委托变量 DelString del = new Del ...

  7. springMvc接口开发--对访问的restful api接口进行拦截实现功能扩展

    1.视频参加Spring Security开发安全的REST服务\PART1\PART1 3-7 使用切片拦截REST服务三通it学院-www.santongit.com-.mp4 讲的比较的经典,后 ...

  8. YAPI接口自动鉴权功能部署详解

    安装准备 以下操作,默认要求自己部署过yapi,最好是部署过yapi二次开发环境. 无论是选择在线安装或者是本地安装,都需要安装client工具. 1.yapi-cli:npm install yap ...

  9. 通过iTop Webservice接口丰富OQL的功能

    通过Python调用iTop的Webservice接口: #!/usr/bin/env python #coding: utf-8 import requests import json itopur ...

随机推荐

  1. Autofac实例生命周期

    1.默认,每次请求都会返回一个实例 builder.RegisterType<X>().InstancePerDependency(); 2.Per Lifetime Scope:这个作用 ...

  2. Hyper-V故障转移群集

    Hyper-V故障转移群集配置完成后,在故障转移群集管理器中新建虚机:角色-虚拟机-新建虚拟机 如果直接在Hyper-V管理器中新建虚机,则不是高可用,需要在故障转移群集管理器中将其添加进来使其成为高 ...

  3. vector 与map的下标操作

    1.vector的下标操作不会添加元素,只能针对已经存在的元素操作. 2.map的下标操作具有副作用,key不存在,会在map中添加一个具有该key的新元素,新元素的value使用默认构造方法. 3. ...

  4. C# 手动读写app config 的源码

    public class ConfigOperator { public string strFileName; public string configName; public string con ...

  5. C/C++学习站点资源

    学习论坛: 轩辕软件论坛 中国IT实验室C/C++论坛 编程爱好者论坛 编程中国论坛 进阶站点: 浙江工业 http://acm.zjut.edu.cn 浙江大学 http://acm.zju.edu ...

  6. [Jest] Test JavaScript with Jest

    Let's learn how to unit test your JavaScript with Jest, a JavaScript unit testing framework from Fac ...

  7. swift3.0 coredata 的使用

    //swift3.0在语法上有很大的改变,以简单的增删改查为例,如下: //User类如下: import Foundation import CoreData extension User { @n ...

  8. ORACLE触发器具体解释

    ORACLE PL/SQL编程之八: 把触发器说透 本篇主要内容例如以下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 ...

  9. 细说linux挂载——mount,及其他……

    http://forum.ubuntu.org.cn/viewtopic.php?t=257333

  10. poj3080解题报告(暴力、最大公共子串)

    POJ 3080,题目链接http://poj.org/problem?id=3080 题意: 就是求m个长度为60的字符串的最长连续公共子串,2<=m<=10 规定: 1.最长公共串长度 ...