aspxgridview CustomButtonCallback 不支持弹出消息提示解决方法

aspxgridveiw是devexpress的一个grid控件,使用起来还不错。但是今天遇到一个问题,就是不能再 CustomButtonCallback 事件中使用response.write,因为CustomButtonCallback 事件是无刷新的,所以不支持,但是即使使用ScriptManager.RegisterClientScriptBlock(page, page.GetType(), "MyScript", myScript, true)也无济于事,在网上查了很久,官方有个解决办法,原文如下:
Hi Troy;
To provide this functionality you should throw an exception in the CustomButtonCallback event handler and process this exception in the CallbackError event handler. Here is the simple sample:


代码如下:

protected void ASPxGridView1_CustomButtonCallback(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewCustomButtonCallbackEventArgs e)
{
throw new Exception("Here I am!");
}

代码如下:

if (e.message == 'Here I am!')
{
clientErrorImage.SetVisible(true);
}

If this answer is incomplete or I misunderstood your requirements, please let me know.
Thanks
Kate.
但是实际测试中发现了问题, throw 的时候后台直接抛出错误了,,这个方法也行不通,再找。。。
最终还是在官网上找到了解决方案,原文地址,我的代码如下:


代码如下:

protected void ASPxGridView1_CustomButtonCallback(object sender, ASPxGridViewCustomButtonCallbackEventArgs e)
{
ASPxGridView view = sender as ASPxGridView;
if (e.ButtonID == "btnAudit")
{
int id = 0;
int.TryParse(view.GetRowValues(e.VisibleIndex, "id").ToString(), out id);
if (true)
{
view.JSProperties["cpErrorMsg"] = "审核成功!";
view.DataBind();
}
else
{
view.JSProperties["cpErrorMsg"] = "此单据已经审核!";
}
}
}

代码如下:

function EndCallBack(s, e) {
if (s.cpErrorMsg!="") {
alert(s.cpErrorMsg);
}
}

这里要注意:JSProperties的参数必须以小写"cp"开头。
测试通过,呵呵

(0)

相关推荐

  • 在GridView中LinkButton的属性的应用(如何不用选中就删除这一行)

    1.在gridview中一直对"删除"不是很理解,在ASP的模式下面,这个删除链接应该有一个行ID标识,以便程序知道删除那一行,或针对这行做一些处理,然而在ASP.net里面也可以用,但是不是最好的. 2.应该用LinkButton的各种属性,这时候非常方面,而且便于理解.这样不用选中一行(gridview.selectedRow 提供定位信息),然后再点击某种操作了. 请注意 CommandName, CommandArgument 和 LinkButton的名字 CommandAr

  • gridview中实现radiobutton的单选示例

    c# 代码 复制代码 代码如下: protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { RadioButton rb = (RadioButton)e.Row.FindControl("rbtSelect"); if (rb != null) rb.Attributes.Add(&q

  • Flex4 DataGrid中如何嵌入RadioButton

    复制代码 代码如下: <s:DataGrid id="viewDg" width="100%" height="100%" fontFamily="微软雅黑" horizontalScrollPolicy="off" borderVisible="false" dataProvider="{viewList}"> <s:columns> <

  • EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码

    先给大家说下什么是ext ext是一个强大的js类库,以前是基于YAHOO-UI,现在已经完全独立了, 主要包括data,widget,form,grid,dd,menu,其中最强大的应该算grid了,编程思想是基于面向对象编程(oop),扩展性相当的好.可以自己写扩展.自己定义命名空间.web应用可能感觉太大.不过您可以根据需要按需加载您想要的类库就可以了. 主要包括三个大的文件ext-all.css,ext-base.js,ext-all.js(包括所有的类库,您可以根据需要进行删减.官方网

  • 学习ExtJS(二) Button常用方法

    一.属性 renderTo:将当前对象所生成的HTML对象存放在指定的对象中 text:得到按钮名称 minWidth:按钮最小宽度 hidden:按钮的隐藏或显示(true or false) 二.构造参数 handler:指定一个函数句柄,在默认事件触发时调用,此时在默认事件为click listeners:在对象初始化之前,将一系列事件进行绑定. 三.函数 getBogy():对到Body对象 onReady():当页面加载完成时执行本函数 getText():得到按钮名称 setText

  • gridview的buttonfield获取该行的索引值(实例讲解)

    1.选择gridview控件,创建按纽列buttonfield,将此按纽列的CommandName 设置为Details  //本例是为了想要查看改行的详细信息 2.GridView1的属性: OnRowCommand= "btnOpenClick"  DataKeyNames="p_num"  //绑定行方法,p_num是绑定的数据库中的主键字段 3.双击 OnRowCommand 属性产生: 复制代码 代码如下: protected void btnOpenCl

  • 获取Gridview中ButtonField的text属性

    <asp:BoundField>用cell[2].text取到值.但<asp:HyperLinkField>和<asp:ButtonField>通过cell[0].Text和cell[13].Text取的值都是"".应如何取到值呢? 首先将ButtonField按钮的连接改为Button模式,然后就可以通过以下语句得到text值Response.Write(((HyperLink)e.Row.Cells[0].Controls[0]).Text);

  • aspxgridview CustomButtonCallback 不支持弹出消息提示解决方法

    aspxgridveiw是devexpress的一个grid控件,使用起来还不错.但是今天遇到一个问题,就是不能再 CustomButtonCallback 事件中使用response.write,因为CustomButtonCallback 事件是无刷新的,所以不支持,但是即使使用ScriptManager.RegisterClientScriptBlock(page, page.GetType(), "MyScript", myScript, true)也无济于事,在网上查了很久,

  • 关于使用pyqt弹出消息提示框的问题

    目录 安装 pyqt 安装遇到问题 还有 To avoid this problem you can invoke Python with '-m pip' instead of running pip directly. 问题 Ubuntu 默认使用 Python2 更换默认配置为 Python3 测试验证 创建一个基本的GUI应用 各种样式的消息对话框示例 Python 程序打包 安装 pyinstaller 显示 command not found 总结 本文仅针对 Ubuntu 操作系统

  • layer弹出框确定前验证:弹出消息框的方法(弹出两个layer)

    layer 弹出框中经常遇到要弹出表单进行修改数据, 因此在弹出框中的表单需要验证数据, 就需要在弹出一个layer, 默认的设置会自动关闭原来的layer, 解决办法如下: type参数: 0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层) 因此设置type的值, 可以实现弹出两个弹出框:(只有确定按钮的部分代码) yes: function (index, layero) { var tableId=$("#tableId"); var signform

  • fckeditor在ie9中无法弹出对话框的解决方法(弹出层兼容问题)

    所以无论是想在页面编辑器里粘贴内容,还是上传图片等凡是需要弹出窗口操作的东西都会有问题,想要进行其它的操作也只能重新刷新页面.原因是 IE 9 不支持var $=document.getElementById;这样的写法了. 解决方法可以这么来做: 打开这个文件, fckeditor/editor/js/fckeditorcode_ie.js ,找到第 38行的这个方法:FCKTools.RegisterDollarFunction 将原来的 复制代码 代码如下: FCKTools.Regist

  • jQuery在iframe中无法弹出对话框的解决方法

    jQuery的弹出框使用很方便,但是如果在iframe中使用则弹不出对话框,而有时候我们还必须得使用iframe而不能用jQuery的load方式,这个时候就需要处理这个问题. 其实也非常简单,思路就是让iframe的父窗口弹出这个对话框.例如: parent.confirmDialog(); 这样就可以用了.不是什么有技术含量的问题,记下来,防止忘记.

  • 用PHP实现弹出消息提示框的两种方法

    方法一: 复制代码 代码如下: echo "<script>alert('提示内容')</script>"; 方法二: 复制代码 代码如下: echo '<script language="JavaScript">;alert("这是";location.href="index.htm";</script>;'; 里面的location.href="index.htm&

  • JS实时弹出新消息提示框并有提示音响起的实现代码

    在java web认证系统开发中,客户要求有数据更新时要在页面弹出提示框,这样方便在旁边的工作人员可以及时的知道有新数据提交了,我们除了使用及时的推送技术外还可以使用ajax来实现这些功能. 代码实现的原理,在页面启用定时执行ajax请求,如果获得数据是最新状态的,要执行语音提示和弹出框提示,这样实现的弊端是频繁的调用数据库,该方法只适合于使用人数较少的系统. 1.加入语音提示 <audio id="sound" autoplay="autoplay">

  • jquery制作漂亮的弹出层提示消息特效

    今天给大家带来一款基于jquery超炫的弹出层提示消息.这款实例页面初始时,一个go按钮.当单击go按钮时,提示强出层以动画形式出现.效果图如下: 实现的代码. html代码: 复制代码 代码如下: <div class='b'>     </div>     <div class='bb'>     </div>     <button id='go'>         GO     </button>     <div cl

  • js兼容pc端浏览器并有多种弹出小提示的手机端浮层控件实例

    本文实例讲述了js兼容pc端浏览器并有多种弹出小提示的手机端浮层控件.分享给大家供大家参考.具体如下: 完整实例代码点击此处本站下载. 用法 <input type="button" id="btn_dialog" value="打开浮层"/> <div id="dialog-content" style="display:none;">这是内容</div> <sc

  • C#实现客户端弹出消息框封装类实例

    本文实例讲述了C#实现客户端弹出消息框封装类.分享给大家供大家参考.具体如下: asp.net在服务器端运行,是不能在服务器端弹出对话框的,但是C#可以通过在页面输出JS代码实现弹出消息框的效果,这个C#类封装了常用的消息框弹出JS代码,可以在服务器端调用,在客户端显示对话框.不但可以显示JS的警告框,还可以显示模式窗口,非常方便. using System; using System.Web; using System.Web.UI; using System.Web.UI.WebContro

随机推荐