DevExpress ASPxGridView后台绑定超链接列调用前台方法的实现

在项目设计中,由于数据结构经常发生变化,我一般采用后台绑定的写法,有时因项目需要在后台将某列调整为GridViewDataHyperLinkColumn列类型,在客户端点击该列的单元格,取该行某列的值做为参数来调用前台的某个js方法,并且在easyUI弹出窗口中显示,在实际项目开发中,遇到了绑定后在极速模式下,可以正常调用,而在IE浏览器(版本号:11)中却将方法做为URL访问,而不执行js方法,并且提示错误。百思不得其解,起初认为IE是不支持这种写法,试了很多种写法也未解决。查询了大量的资料,试验很多种方法,最终问题解决,由于我的项目中采用页面扫描照片的功能,需要引用activeX插件,这个插件需要在兼容模式下运行才能正常,在UC浏览器、360浏览器、firefox浏览器中需要切换至兼容模式下运行网页,所以后台调用前台的方法必须在兼容模式下运行正常才可解决我的问题。费话不说上代码:
后台绑定方法:

 GridViewDataHyperLinkColumn colLink = new GridViewDataHyperLinkColumn();
    colLink.Caption = "本行修改记录";
    colLink.FieldName = "编号";      //列参数设置,在点击超链接时跟传的参数从哪列中取值
    colLink.PropertiesHyperLinkEdit.Text = "本行修改记录";      // 显示哪列的内容
    colLink.PropertiesHyperLinkEdit.TextField = "本行修改记录";  //显示“本行修改记录”的内容,而不是PropertiesHyperLinkEdit.Text
    colLink.Visible = true;
    colLink.FixedStyle = GridViewColumnFixedStyle.Left;//显示在表的左侧
    //colLink.Settings.ShowFilterRowMenu = DevExpress.Utils.DefaultBoolean.False;
    //colLink.Settings.ShowInFilterControl = DevExpress.Utils.DefaultBoolean.False;
    colLink.Settings.AllowAutoFilter = DevExpress.Utils.DefaultBoolean.False;//过滤行开关
    colLink.Settings.AllowHeaderFilter = DevExpress.Utils.DefaultBoolean.False;
    //colLink.PropertiesHyperLinkEdit.Target = "xgjl_disp({0}";//关键:这一句不能加,如果是极速模式不会影响,如果是兼容模式就会打开新窗口,而不在本页弹出窗口
    colLink.PropertiesHyperLinkEdit.EnableClientSideAPI =true;
    colLink.PropertiesHyperLinkEdit.NavigateUrlFormatString =     string.Format("javascript:OnClick=xgjl_disp({0})", "{0}");//客户端弹出窗口并传参(编号)
    ASPxGridView1.Columns.Insert(0, colLink); //插入0列位置
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值