GetCallbackEventReference实用讲解
一. 描述
在开发winform程序时不会考虑页面刷新问题,只要控制好线程别导致假死就ok了,但是在开发web页面程序时,刷新有的时候真是头痛的很。页面回调可以解决这个问题,下面简单就实用来讲对callback做下介绍。
二. 讲解
在网上看了很多关于原理呀什么的讲解,起初也是一头雾水,如果只是使用,不用了解那么多,那些原理在开发web网络功能时可以多了解一下,相关知识可以到网上搜一下,在这里我就简单说一下如何使用。
其实你只要走完5步就完成了,很简单:
1.设置触发事件(button 什么都行,这里用div),例如:
<div style="cursor:hand;background-color:#ededed;" οnclick="fun_callbk('大家好')">click me</div>
2.编写两个客户端函数,例如:
...
function fun_callbk(msg)//这个函数就是你点击事件要触发的方法,其中就写一句话
{
<%=this.ClientScript.GetCallbackEventReference(this,"msg","showMsg",null)%>
//注意这里一定是双引号,单引号会出错(看着错误提示的,绝对叫你不知所以然):
//你要是觉得麻烦,那就直接写最终代码:
//WebForm_DoCallback('__Page',msg,showMsg,null,,null,false) ;//这个时候没有双引号哦,参数为6个
//Compiler Error Message: CS1012: Too many characters in character literal
//这句话简单讲就是在客户端注册一个引用,其中的参数你可以到网上搜一下,一般使用4个参数就够了
//第一个参数:指的是page类
//第二个参数:事件触发方法的参数
//第三个参数:接收服务端返回数据的函数,下面会定义
//第四个参数:一般设为null就可以了
}
function showMsg(rValue)//这个就是上面的第三个参数,接受服务端返回的值
{
alert(rValue);//简单点写,弄的那么复杂大家就看迷糊了
}
3.编写服务端程序
这一步比较简单了,你必须要做的三件事:
a.引用一个接口:ICallbackEventHandler,这是必须的,和前面的类或接口以,隔开(这是c#基础了)
b.声明第一个函数,用于接收客户端传来的值,如下:
//记住:函数名字不可以随便,必须是RaiseCallbackEvent才可以
//首先声明一个变量,方便讲解
string myStr=string.Empty;
public void RaiseCallbackEvent(string arg)
{
myStr=arg+"hello";//还是简单的写,将客户端传来的值赋给咱新声明的变量
//加一个hello,是为了验证数据的确是有服务端处理后返回的
}
c.声明另一个函数,用于将结果返回客户端
//这个函数的名字也必须是GetCallbackResult,不可以修改
public string GetCallbackResult()
{
return myStr;//将结果返回客户端
}
好了,到这里你基本已经完成了!
三. 做一下总结
其实就用到4个方法,fun_callbk(),showMsg(),GetCallbackResult(),RaiseCallbackEvent()
需要添加一个引用:<%=this.ClientScript.GetCallbackEventReference(this,"arg,"showMsg",null)%>
需要继承一个接口:ICallbackEventHandler
就这些,你可以简单的这样理解:
fun_callbk()将客户端的值传给服务端的RaiseCallbackEvent();服务端处理完后通过GetCallbackResult()将值又返回客户端的showMsg(),就OK了
GetCallbackEventReference实用讲解相关推荐
- ASP.NET Callback 回调实用讲解
一. 描述 在开发winform程序时不会考虑页面刷新问题,只要控制好线程别导致假死就ok了,但是在开发web页面程序时,刷新有的时候真是头痛的很.页面回调可以解决这个问题,下面简单就实用来讲对cal ...
- Springboot Condition 实用讲解,只看一遍包学会
前言 该篇文章,还是一贯的风格,源码+示例+自言自语的分析,目的只有一个 : 就是想让大家都会玩 Condition.Conditional. 正文 先看看 Condition 是被放在包spring ...
- 不懂这几个问题就落后了:Python、Android开发者必读!
Android 平台的Python: (本文以Python3为例,Python3是未来,大家都懂的) Python作为一个功能强大又语法简洁的语言,其应用已无需多言.要想在Android平台运行起Py ...
- tracepro应用实例详解_十大行业气动设备 120个典型气动系统应用实例
气动系统典型应用120例 十大行业气动设备 120个典型气动系统应用实例 按照主机功能结构.气动系统原理和系统技术特点的体系,详细介绍了煤矿机械.电力机械与石油机械,冶金机械与金属材料成型机械,化工机 ...
- 阿里p7架构师带你领略JMM
概述 JMM的全称是Java Memory Model(Java内存模型) JMM的关键技术点都是围绕着多线程的原子性.可见性和有序性来建立的,这也是Java解决多线程并行机制的环境下,定义出的一种规 ...
- 中英文名片拼写法对照
在名片制作中,中首先要能看懂名片,然后还要会拼写对客户的名片,英文的名片一般也包含:机构名称.个人全名.职位.联系方式.地址.但在英文名片中有一点和中文不同,就是:地址栏经常会被放在通讯联系方式之上, ...
- ROS之tf空间坐标变换完全详解
本博文主要汇总了自己在使用ROS中tf坐标变换包时查找的一些参考资料和博客,包括了tf和部分tf2的使用,在此感谢本博文中出现的所有的博客链接! 参考资源: ROS官网详细介绍: http://wik ...
- 全屋网络覆盖方案笔记
文章目录 无缝漫游和有缝漫游 无缝漫游的原理/算法 组网常见名词:AP wifi测试软件 一.有缝漫游方案 1. 二级路由器组网 2. 无线桥接模式(WDS模式|无线中继模式)组网 3. 有线桥接模式 ...
- 8.C语言——位操作符与位移操作符
本文采用了<C Primer Plus>.<C陷阱与缺陷>以及比特科技的教学视频. 对C语言位操作符与位移操作符进行了详细讲解,为了加深印象,每一个知识点均有例题和实用讲解 目 ...
最新文章
- ArcGIS for Desktop入门教程_第二章_Desktop简介 - ArcGIS知乎-新一代ArcGIS问答社区
- 死猪脑”能复活吗?---评美国耶鲁大学医学院实验研究
- 制作模板_木模板制作流程
- Python3 requests post 中文乱码 UnicodeEncodeError: ‘latin-1‘ codec can`t encode characters in ……
- Boost:构造一个流对象,任何发送到此流将标准输出
- DOS文件格式 与 UNIX文件格式 转换
- 牛客国庆集训派对day6TJ-DefenseTower【贪心】
- 2021.08.25学习内容torch.clamp(input, min, max, out=None) → Tensor,torch.mm(matrix multiply)
- 【推荐实践】强化学习算法在京东广告序列推荐场景的应用
- c# 定义operator运算符
- 自学软件测试需要学到哪些内容?
- VS2015调试无法加载PDB 文件
- datatables rows selected
- MSP430F149的TIMERA定时中断理解
- 干货|人脸识别技术基础知识,看这里
- 数据结构JAVA实现——树
- 金融之npv(净现值)_python实现计算公式_最通俗解释
- psapi.lib,psapi.h,psapi.dll下载
- Titanic:Machine Learning from Disaster 人工智能,大数据分析常用入门kaggle项目
- 达特茅斯计算机专业师资力量如何,达特茅斯学院计算机信息介绍 优势专业选到就是赚到...
热门文章
- linux内核中启动页面,Linux内核启动过程分析
- 用python画竹子_python函数
- c语言循环程序设计教案,10 《C语言程序设计》教案 第三章 程序的控制结构(6)—循环结构 while和do while.doc...
- java windows wifi_[转] win7 电脑无线网变身WiFi热点
- linux以非root身份运行,以非root用户身份在linux中运行mono-service
- Apache Flink 简介和编程模型
- Win2003 Server 安全的个人Web服务器
- SolidWorks学习笔记4特征
- 通过模拟器看Windows Phone 7
- 判断checkbox是否选中并改变值