




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、GetCallbackEventReference 的用法 挨踢人生GetCallbackEventReference 的用法作者:0湛狼O日期:2011年4月10日发表评论(0) 查看评论 作用:获取一个对客户端函数的引用;调用该函 数时,将启动一个对服务器端事件的客户端回调。此重载方 法的客户端函数包含指定的控件、参数、客户端脚本和上下 文。函数原型:public string GetCallbackEventReference (Control control,string argument,string clientCallback,string context)第一个参数指定了服务器
2、端将要处理回调的目标对象,即处 理客户端回调的服务器端控件。该控件必须实现 ICallbackEventHandler 接口并提供 RaiseCallbackEvent 方法。如果传入的是this,则表示页面本身。也可以传入任何实现 了 ICallbackEventHandler 的页面控件(page control)的引用。 在任何情况下,客户端的提交动作(submit action )会提交至 和标准回传(postback)机制相同的ASPX页面。第二个参数是一个JavaScript常量表达式,表示页面传给服 务器的输入数据。如将一个下拉列表当前选中元素的值传 入”document.get
3、ElementByldcboEmployees.value”: 第三个参数是一个用户定义在块中的 JavaScript 回调(callback)函数名。回调(callback)执行后, 此函数最终负责页面的更新,即最后服务器端得结果会返回 给此参数指定的函数,设计人员在此参数指定的函数中编写 代码实现页面的无闪烁更新。最后两个可选参数可用来指定错误处理函数(error handler) 和上下文对象(context object) 其中上下文对象的作用是启动回调之前在客户端计算的客 户端脚本。 脚本的结果传回客户端事件处理程序。即第三 个参数clientCallback指定的脚本可在此定义,而
4、不必在设 计页面定义。more例:StringBuilder context1 = new StringBuilder(); context1.Append(“function R eceiveServerData1(arg, context)”);context1.Append(“); context1.Append(“Message1.innerText = arg;”);context1.Append(“value1 = arg;”); context1.Append(“”);String cbReference1 = cs.GetCallbackEventReference(this,
5、 “arg”,“ReceiveServerDatal, context1.ToString();GetCallbackEventReference 函数将产生如下的脚本调用: WebForm_DoCallback(pageID, input,UpdateEmployeeViewHandler, null, null);此函数的代码会自动下载到客户端并通过标签 添加到页面响应(pages response)中。WebForm_DoCallback 使用 XmlHttpRequest DOM 对象 (XmlHttpRequest DOM object)回调(call back)当前页面的 URL。
6、与此同时,它会添加一些额外的隐藏域(hidden field)以便服 务器区分更简单的轻量级回调(callback)请求和一般回传 (postback)请求。处理请求时,ASP.NET运行时(runtime)标识岀调用的目标 对象(传给GetCallbackEventReference的第一个参数),确 认它实现了 ICallbackEventHandler接口后调用 RaiseCallbackEvent 方法:void RaiseCallbackEvent (string eventArgument)eventArgument 一般即是通过 GetCallbackEventReference
7、 指定的页面传递到服务器端的输入数据,即参数 2 RaiseCallbackEvent 处理完毕,即通过调用 public string GetCallbackResult() 将处理结果返回给调用控件,交由客户端执行 GetCallbackEventReference 指定的客户端脚本 clientcallback,由其完成客户端刷新。上面说过脚本回调(script callback)并不适用于所有浏览器, 尽管最新的浏览器,包括 Internet Explorer 5+, Netscape 6+, and Safari1.2+都能行。Microsoft 在 ASP.NET2.0 中加入了两
8、个新的 browser bapabilities :SupportsXmlHttp 与 SupportsCallback 以便开 发人员检查方案的可行性。一条让页面刷新更快的告诫尽管脚本回调(script callback)定义在ASP.NET 2.0中,要 使其在ASP.NET 1.1里工作也并不很困难。在ASP.NET 2.0 中,很多服务器控件(server contro I)借助脚本回调(script callback)提供了更迅速的页面刷新。最突岀的例子也许是GridView控件(GridView control),作 为DataGrid的接班人,选择性地运用脚本回调(script
9、callback)实现分页显示记录。正如前面所说,脚本回调(script callback)依赖于文档对象模 型(DOM)的 XmlHttpRequest 对象。在 Internet Explorer 中, 此文档对象模型对象(DOM object)通过ActiveX控件 (ActiveX control)实现Microsoft.XmlHttp。在 IE 中浏览这样的页面时,你必须适当降低安全设置以允许ActiveX控件(ActiveX control)能被脚本调用。在其他以同样 方式实现XmlHttpRequest文档对象模型对象(DOM object) 的浏览器中,这是不必要的。事实上 基
10、于Mozilla的浏览内置支持了 HTTP请求功能器, 而没用使用ActiveX控件(ActiveX control)这也是在Internet Explorer 7.0 中被寄予厚望的功能。下面简单例子可作参考(例子来源于 高级编程第 7 版):服务器端 private string result; protected void Page_Load(object sender, EventArgs e)string script =Page.ClientScript.GetCallbackEventReference(this, arg, getRandom, content1);string
11、 script1 = function UseCallBack(arg, content1) + + script + ; + ;raise.Text = script1;Page.ClientScript.RegisterClientScriptBlock(this.GetType(),UseCallBack, script1, true); public void RaiseCallbackEvent(stringEventArgs)result = EventArgs;public string GetCallbackResult()return result+test;客户端1234561011/ 这个代码的工作流程是怎么样得呢?首先,点击按钮Buttonl后,触发test()函数,函数内调用UseCallBack 函数,可以在此传入参数,传入的参数将会传给 服务器端的RaiseCallbackEvent函数进行解析,当然,也可以 中途截断这个参数的传
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025轿车买卖合同范本
- 2025信息系统建设合同范本
- 2025标准商业空间租赁合同模板
- 2025国际货币兑换借款合同模板
- 2025办公室租赁补充合同范本
- 2025商务合同英文合同结构与格式指南
- 2025混凝土钢筋购销合同范本
- 2025年合肥租房合同范本
- 《童谣与寓言故事》课件
- 《繁花似锦东大街》课件
- 2025年审计审查重点试题及答案
- 2025年证券从业资格证考试真题试题及答案
- 城市管理文明执法规范(试行)
- 广东省2024-2025学年佛山市普通高中教学质量检测物理试卷及答案(二)高三试卷(佛山二模)
- 【9数一模】2025年安徽合肥市第四十五中学九年级中考一模数学试卷(含答案)
- 2025年中石油政工师理论考试题库(含答案)
- 2025年二建-水利-简答200问
- 安全专项施工方案内容
- 电网工程设备材料信息参考价(2024年第四季度)
- 创意综艺风脱口秀活动策划PPT模板
- 大客户营销技巧ppt课件
评论
0/150
提交评论