各位高手:
现页面有个服务器控件ImageButton1,如何给它加个双击事件,使其能够调用CS文件的ImageButton1_ondblclick函数?
如果不用Ajax还有没有其他办法?

解决方案 »

  1.   

    没记错的话ImageButton 好像只有Click 事件吧(服务器端)
      

  2.   

    cs文件中不可能有dblclick事件.只有click事件,客户端倒是有双击事件,但双击前必须先执行click事件.
      

  3.   

    设置ImageButton的OnClientClick为一个Javascript函数,通过javascript函数进行回调。
      

  4.   

    asp.net夜话之五:Page类和回调技术 
    在今天我主要要介绍的有如下知识点:Page类介绍:介绍单页模型和页面、代码分离模型。Page的生命周期:介绍Page类个各个生命周期还有Page生命周期内的一些相关事件。IsPostBack属性:用于判断当前页面是否是响应客户端回发。ClientScriptManager类:用于动态向当前页面注册javascript脚本的类。回调技术(CallBack):通过回调实现在客户端调用服务器端方法而不用提交整个表单。
    http://blog.csdn.net/zhoufoxcn/archive/2008/09/28/2990318.aspx
      

  5.   

    回调技术(CallBack)
    在asp.net中客户端与服务器端的交互默认都是整页面提交,此时客户端将当前页面表单中的数据(包括一些自动生成的隐藏域)都提交到服务器端,服务器重新实例化一个当前页面类的实例响应这个请求,然后将整个页面的内容重新发送到客户端,这种处理方式对运行结果没什么影响,不过这种方式加重了网络的数据传输负担、加大了服务器的工作压力,并且用户还需要等待最终处理结果。假如是我们希望有这么一个功能,当用户填写完用户名之后就检查服务器数据库里是否已存在该用户名,如果存在就给出已经存在此用户名的提示,如果不存在就提示用户此用户名可用,对于这种情况其实只需要传递一个用户名作为参数即可,上面的做法却需要提交整个表单,有点小题大做。解决上面的问题的办法目前主流做法有三种:纯javascript实现、微软Ajax类库实现还有用AjaxPro实现。后两种做法在稍后的文章中会讲到,这里我讲另外一种实现:通过回调技术。
    创建实现回调技术的网页与普通asp.net网页类似,只不过还需要做以下特殊工作:
    (1)让当前页面实现ICallbackEventHandler接口,这个接口定义了两个方法:string GetCallbackResult ()方法和void RaiseCallbackEvent (string eventArgument)方法。其中GetCallbackResult ()方法的作用是返回以控件为目标的回调事件的结果,RaiseCallbackEvent()方法的作用是处理以控件为目标的回调事件。
    (2)为当前页提供三个javascript客户端脚本函数。一个javascript函数用于执行对服务器的实际请求,在这个函数中可以提供一个字符串类型的参数发送到服务器端;另一个javascript函数用于接收服务器端方法的执行后返回的字符串类型结果,并处理这个结果;还有一个是执行对服务器请求的帮助函数,在服务器代码中通过GetCallbackEventReference()方法获取这个方法的引用时由asp.net自动生成这个函数。