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

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

开始时,首先想到的到是写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. 通过SCVMM分配iSCSI存储

    除了使用基于SMB3.0应用程序的文件共享外,还可以使用iSCSI目标服务器的SAN存储,然后在SCVMM控制台中添加基于SMI-S类型的存储,步骤如下: 1.将一台安装了 iSCSI目标 功能的Wi ...

  2. SQL性能优化工具TKPROF

     全名为Trace Kernel Profile,用来格式化跟踪文件,是一个命令行工具. 主要的格式例如以下: tkprof tracefile outputfile - tracefile:要分 ...

  3. SAP-设置显示表格格式

    在我们用SAP系统的过程中产看表格的时候,需要设置查看表格的格式,表格的格式主要包含两个方面: 1,表格的样式 在查看表格的时候点击[设置]-[用户参数] 勾选[ALV Grid display]就控 ...

  4. spring中的ResourceBundleMessageSource

    1 首先创建两个资源文件    messages_en_US.properties customer.name=Yong Mook Kim, age : {0}, URL : {1} messages ...

  5. iOS开发——面试总结(一)

    面试总结(一) 通过网络搜寻和自己总结经历找了一些IOS面试经常被问道的问题: 1.搞清楚touch事件的传递(事件的响应链) 事件的响应(responder chain) 只有继承了UIRespon ...

  6. android153 笔记 5

    52. Linux中跨进程通信的几种方式 . linux编程全部是基于文件管理的. # 管道( pipe ):管道也是一个文件,一个进程负责读一个进程负责写,管道是一种半双工(2边可以通信但是不能是同 ...

  7. Ruby on Rails Tutorial 第二章 之 微博资源

    1.微博模型如下图所示: 2.创建微博资源,命令如下: $ rails generate scaffold Micropost content:text user_id:integer  #生成微博资 ...

  8. day02 Java基础

    1.Java中的关键字都是小写的. 2.Java中的关键字 3.Java中的注释分为:单行注释.多行注释.文档注释 文档注释将被javadoc工具解析生成一个说明书. 4.Java中的常量分为字面值常 ...

  9. 阅读uboot

    下面是一个执行make XXX_config后的打印信息: pengdl@debian:~/work/costdown/new/Hi3520D_SDK_V1.0.2.2c/source/arm11/u ...

  10. Stupid Tower Defense

    Problem Description FSF is addicted to a stupid tower defense game. The goal of tower defense games ...