首页 > 开发 > 综合 > 正文

GridView添加删除按钮终极办法

2024-07-21 02:30:18
字体:
来源:转载
供稿:网友

最大的网站源码资源下载站,

这两天用gridview,正好遇到要添加删除确认这个操作,网上搜了一通,这篇最好,为gridview“删除”列添加确认对话框 

其中提到一种方法被称为是一种最简洁的办法,果然不错,分析得也很好。

不过,我在用的过程中却遇到了哭笑不得的情况:引号的问题

<asp:commandfield edittext="修改"
canceltext="取消"
deletetext='<span class="handle" #ff0000">"confirm_this")">删除</span>'
 
headertext="操作"
buttontype="link"
showeditbutton="true"
showdeletebutton="true" />

 

看其中红色的部分,这部分代码是不对的,因为双引号会导致javascript错误,你想想,

<span class="handle" onclick="javascript:return confirm("confirm_this")">删除</span>

这四个引号能用么,不能。这里必须是一单一双的引号相间,代码才正常。

但也不能换成单引号,因为

<asp:commandfield edittext="修改" canceltext="取消" deletetext='<span class="handle" #ff0000">'confirm_this')">删除</span>'...

因为,单引号会截断asp.net的代码,所以,单双引号都不能用。

不过,也有办法解决,如果doraeimo在blog中提到的方案称为最简洁,我想,下面的办法可以被称为最终极的解法,当然,这是建立在doraeimo的基础这上的。

 

解决方案:什么引号也有用!

 

<asp:commandfield
edittext="修改"
canceltext="取消"
deletetext='<span class="handle" #ff0000">confirm_this
)">删除</span>'

headertext="操作"
buttontype="link"
showeditbutton="true"
showdeletebutton="true" />

 

不过,要在后台中向客户端注册javascript脚本,在page_load事件中:

 

        string sscript = "var confirm_this='你确定要删除吗?';";
      clientscriptmanager csm = page.clientscript;
        if (!csm.isstartupscriptregistered("_confirm"))
        {
            csm.registerstartupscript(this.gettype(), "_confirm", sscript, true);
        }

 

原理很简单,效果很实用。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表