ASP.NET,DEV ASPxCallback 前台调用后台方法,不刷新页面

来源:互联网 发布:北大网络教育作业答案 编辑:程序博客网 时间:2024/05/16 02:06
~~~今天开始记录一下开发中遇到的一些小问题~~~

----------------------------------------------------------------------------
主要功能说明:前台打印按钮(btnPrint)点击后后台方法进行更新数据,并显示相关打印预览页面。

起初使用一个隐藏按钮(btnHidePrint),当点击打印按钮后调用btnHidePrint的OnClick事件进行后台数据更新。
问题:后台方法可以正常更新数据,但更新后前端页面会刷新。
解决:使用ASPxCallback,当btnPrint点击时,调用ASPxCallback的OnCallback方法进行数据更新。
代码:
           
<dxcb:ASPxCallback ID="callBackPrint" ClientInstanceName="callBackPrint" runat="server"                    OnCallback="PrintCallback">                </dxcb:ASPxCallback>                <dxe:ASPxButton ID="btnPrint" runat="server" Text="<%$ Resources:PPS, btnPrint %>"                    UseSubmitBehavior="false" Width="70" ToolTip="ALT+P" AccessKey="P">                    <Image Url="~/images/printer.png" />                    <ClientSideEvents Click="function(s,e){e.processOnServer=false;Print();}" />                </dxe:ASPxButton>
function Print() {            //更新打印状态            callBackPrint.PerformCallback();            //显示打印预览页面                    }

        /// <summary>        /// 更改打印状态        /// </summary>        /// <param name="source"></param>        /// <param name="e"></param>        protected void PrintCallback(object source, DevExpress.Web.ASPxCallback.CallbackEventArgs e)        {            List<object> keyIds = grid.GetSelectedFieldValues(grid.KeyFieldName);//获取当前列表选中的值            if (keyIds.Count > 0)            {               //更新数据                           }        }


1 0
原创粉丝点击