在ASP.NET 2.0中,引入了一个称为"客户端回调"的功能,利用这个内建的解决方案我们可以轻松实现客户端脚本和服务器端代码间的交互,从而避免了页面因回发带来的频繁刷新。客户端回调本质上就是指通过前端的客户端脚本向服务器端传递相应的数据参数,服务器端再以接受到的参数进行查询和处理,最后将结果回传到客户端进行显示。在网上已经有蛮多实现无刷新回调的文章,之前在ASP.NET1.0 用AJAX技术实现过,现在ASP.NET2.0使用ICallbackEventHandler来实现。具体如下:
       前台页面:

<body>
    <form id="form1" runat="server">
    <div>
        &nbsp;<input id="txtMessage" style="width: 353px" type="text" />&nbsp;
        <input id="Button1" type="button" value="Call to Server" onclick="CallServer();" />
        <br />
        &nbsp;result:<input id="txtResult" style="width: 442px" type="text" /></div>
    </form>
</body>

前台脚本:

<script type="text/javascript">
      function CallServer()
      {
          var product = document.getElementById("txtMessage").value;//前台数据传到后台处理
          
          //返回后台处理后的数据到前台,用前台函数ReceiveServerData来接收
          <%= ClientScript.GetCallbackEventReference(this, "product", "ReceiveServerData",null)%>;
      }
      
      function ReceiveServerData(rValue)
      {
         //alert(rValue);
         document.getElementById("txtResult").value = rValue;
     }
     </script>

后台代码:

public partial class testNoRefresh : System.Web.UI.Page, System.Web.UI.ICallbackEventHandler
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    //定义一个字符串,回调的结果信息将保存在该字符串中
    private string CallBackValue = string.Empty;

   

    //引发回调事件处理
    void ICallbackEventHandler.RaiseCallbackEvent(string eventArgument)
    {
        this.CallBackValue = "客户端在[" + DateTime.Now.ToString() + "]传送来 [" + eventArgument + "]!";
    }

    //回传回调结果
    string ICallbackEventHandler.GetCallbackResult()
    {
        return CallBackValue;
    }

转载于:https://www.cnblogs.com/lilian_lee/archive/2009/02/25/1397671.html

ICallbackEventHandler - 客戶端回調 - 無刷新(對她的理解就是:觸發庫函數-回調-回傳-接收)...相关推荐

  1. c#服务器上的文件怎么打印,C# 如何調用客戶端打印機打印服務器上的word文件

    [size=13px]    做了一個系統,需要打印word,服務器上有打印模塊,打印之前是將打印的內容通過書簽的新式生成了一個新的word保存在服務器上,在客戶端訪問系統打印的時候出現了一些問題.客 ...

  2. app inventor HTML5,[App Inventor] Web客戶端元件 POST 傳值的使用方式

    過去在開發App時,Web客戶端元件大部份都以Get的方式進行值的傳遞.那可以用POST嗎?以下簡單的範例,我們將使用Web客戶端元件以POST的方式傳值給一個PHP程式,然後再返回結果顯示在App中 ...

  3. webso员ket php,客戶端和PHP後端通信:Sokets,Stream,TCP/UDP?

    簡短版本:我想將客戶端連接到PHP服務器,但是我同時運行10個PHP腳本的服務器的限制.客戶端和PHP後端通信:Sokets,Stream,TCP/UDP? 的問題是:什麼是連接與PHP腳本客戶的最佳 ...

  4. c#(服务器)与java(客户端)通过socket传递对象_C#(服務器)與Java(客戶端)通過Socket傳遞對象...

    最近做項目,需要C#與java間的交互,也就是C#編寫服務器,java編寫客戶端,讓兩者進行通信. 通信無非就是互發數據,首選Socket技術,通過TCP協議建立長連接,一般是以字節數組的形式傳遞數據 ...

  5. 配置Git服務器和Windows客戶端

    按照這位仁兄的方法(http://www.fwolf.com/blog/post/429)配置好Ubuntu的GIT服務後,基本上都在Linux下面使用沒有問題了.但在Windows客戶端怎麼辦呢?還 ...

  6. 刪除已存儲在SVN客戶端的账号与密…

    1. Windows下      使用TortoiseSVN的svn客戶端工具,点击右鍵,打开下图,   选择setting,打开下对话框,并点击Saved Date     根据对话框右边的提示信息 ...

  7. java ftp客戶端

    最近打算做一个android上的ftp客户端工具,网上搜索了一下,发现apache commons-net可以很方便的实现,但是这个第三方包中对文件夹的删除与创建(级联)操作并不是特别的方便.删除文件 ...

  8. java如何通过client客戶端http实现get/ post请求传递json参数到restful 服务接口

    一.首先在client端,导入maven相关依赖(httpclient以及json相关依赖) <dependencies><dependency><groupId> ...

  9. linux ssh客戶端:termius介绍及安装

    安装Termius sudo snap install termius-app Termius 是一款全平台的SSH客户端,该软件最大的特点就是支持全部平台,包括Windows.Mac.Linux.i ...

最新文章

  1. 数据结构-串操作应用之词索引表
  2. 关于MYsql 多字段排序
  3. jdk11 jdk12_JDK 12附带紧凑数字格式
  4. iis7 php5 isapi配置,Windows7 IIS7下以FastCgi和ISAPI方法安装配置PHP5教程
  5. 1.1.0-简介-P10-分布式事务的解决方案
  6. Node-require的加载机制
  7. 阿里云 部署并开启nodejs应用
  8. oracle的redo和undo,Oracle的redo 和undo的區別
  9. 动手设计 CPU(三)—— 微程序控制的存储器读写系统设计
  10. 三星 android 5.0系统下载地址,三星S5怎么刷机 三星S5安卓5.0固件包下载地址及刷机教程...
  11. t450加固态硬盘教程_Thinkpad t450s拆机换240G ssd+加8G内存
  12. 地图标识符号大全_资源小结:分省地图查询(9.1版)
  13. 香港服务器托管单线路、双线路以及多线路如何区别
  14. iOS 去除字符串中的H5标签。
  15. Screw一键生成数据库文档工具
  16. 新建的工程没有Products和Frameworks文件夹
  17. 如何将每日新闻添加到自己博客中,发送到微信群中
  18. 手把手教你搭建一个【文件共享平台】系列教程第二话——环境搭建
  19. GwcNet:逐组相关的立体匹配网络(CVPR 2019)
  20. mac mini调整屏幕亮度

热门文章

  1. 我在系统设计上犯过的14个错
  2. SIP协议状态码:480Temporarily Unavailable
  3. 关于 form表单 嵌套问题的解决方案
  4. dos的echo on与echo off命令用法实例讲解
  5. 为什么c语言写程序要挂起,我运行的C语言程序挂起了,应该怎么办?
  6. ios mdm更新应用_因使用MDM下架的家长控制应用OurPact重返App Store
  7. a extends b java_(class B extends A) 怎么解释?A是上一个类名
  8. 数据中心行业哪个证书含金量最高?对职业最有帮助?
  9. Python之Pandas:pandas.DataFrame.to_csv函数的简介、具体案例、使用方法详细攻略
  10. Python:python语言中与时间有关的库函数简介、安装、使用方法之详细攻略