zoukankan      html  css  js  c++  java
  • DevExpress Asp.net(4) ASPxCallbackPanel的基本使用

    AspxCallbackPanel主要作用是对CallbackPanel内的内容进行异步刷新,实现此种效果的方法有很多,如Microsoft AJAX控件中的UpdatePanel,比这种方式更为方便和好用.
    下面这个例子就是通过一个ListBox,从客户端回调AspxCallbackPanel,从而更新AspxCallbackPanel内的MultiView控件显示信息。
     

    首选,先在页面中放置一个AspxCallbackPanel控件,并设置ClientInstanceName属性为“CallbackPanel”。
    代码如下:

    Code

    设置ASPxCallbackPanel的ClientInstanceName属性,并注册OnCallback服务器事件.上一节已经说明,DevExpress的Aspx系统控件的异步更新方式都是一样的,所以AspxCallbackPanel也同样,注册服务器端的OnCallback事件,并从客户端调用AspxCallbackPanel的 PerformCallback()方法.
    接着看以下代码,在AspxCallbackPanel中放置一个MultiView.注意,MulitView中放置在AspxCallbackPanle的<PanelCollection>子元素下的.

    Code

    接下来就是调用AspxCallbackPanel的PerformCallback()方法了,这里我们放置了一个ASPxListBox,并注册ASPxListbox的 ClientSideEvents事件中的 SelectedIndexChanged事件,如下:

    Code

    当从客户调用CallbackPanel.PerformCallback(value)的方法时,它会调用在服务器端的OnCallback事件.

    protected void ASPxCallbackPanel_Callback(object source, CallbackEventArgsBase e)
        {
            MultiView.ActiveViewIndex 
    = Convert.ToInt32(e.Parameter); //激活显示的ViewID
        }


     

    总结:
    1 向页面添加ASPxCallbackPanel组件,并设置ClientInstanceName属性(客户端标识,如 ClientInstanceName="CallbackPanel")。
    2 注册ASPxCallbackPanel组件的服务器端事件ASPxCallback_Callback。
    3 在客户端用户CallBack组件的客户端方法PerformCallback方法,以调用服务器端的ASPxCallbackPanel_Callback事件。
              代码:CallbackPanel.PerformCallback(id)

    结论:

    通过ASPxCallbackpanel与上一节的AspxCallBack的使用,我们发现DevExpress Aspx控件的回调方法都是一致的。
         即添加ClientInstanceName
         注册服务器端的Callback事件
         调用ClientInstanceName.PerformCallback方法以执行服务器端的Callback中的代码
         最后调用CallbackComplete事件,进行必要的处理(可选)


    个人观点:
    ASPxCallbackPanel和AspxCallBack虽然提供了很多的机制来完成AJAx的操作,但从控件易用性上来讲,ASPxCallbackPanel并不如UpdataPanel如用。
    但通过ASPxCallbackPanel和CallBack组件的回调学习,使我们知道了ASPx系列操作的回调机制与流程,对于学习和了解其他ASPx控件来说还是有很大的帮助的。

     


     

  • 相关阅读:
    io系列浅谈
    git 删除分支--本地分支和远程分支
    提问须知
    PDF 补丁丁 0.6.2.3691 测试版发布
    PDF 补丁丁 0.6.2.3689 测试版发布
    .Net调用接口处理时间过长,前端访问超时解决方案
    Abp用多个DbContext
    IDEA 报错 Could not autowire. No beans of 'UserMapper' type found(无法自动装配。找不到类型为 'UserMapper' 的 bean)解决IDEA中自动装配,找不到类型的bean问题
    springboot整合springmvc拦截器
    springboot自动配置原理
  • 原文地址:https://www.cnblogs.com/wservices/p/1535928.html
Copyright © 2011-2022 走看看