GridView添加删除按钮终极办法

这两天用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);
        }

 

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

时间: 2024-11-08 21:16:36

GridView添加删除按钮终极办法的相关文章

不用重新配置,用jconsole连接远程机器进程及获得本地进程的JMX Url的终极办法

估计有很多人都在想用jconsole连接远程机器上的进程时,发现没有配置jmx端口,或者其它的东东. 下面介始一种很简单的办法,可以不用重启远程机器的进程: ssh -X  192.168.66.66  -l username 连接上去之后,可以直接运行jconsole进程,然后在本机就会弹出一个jconsole的窗口了. 实际上这个不是用jconsole连接远程机器的进程,而是把远程机器上的X输出转地本地来. 如果有提示失败,那么可能要配置下ssh可以转发X. ================

为什么添加删除按钮不能实现呢?明明代码都对

问题描述 packagemyproject;importjava.awt.Dimension;importjava.awt.GridLayout;importjavax.swing.JFrame;importjavax.swing.JPanel;importjavax.swing.JScrollPane;importjavax.swing.JTable;importjava.sql.*;importjava.awt.event.*;importjavax.swing.*;importjavax.

Ext 2.0如何给GridPanel加上ASPX --- GridView一样的模板列

我做的是一个添加删除按钮的例子,先看一下效果. 代码: 代码操作数据库那部分没有写,在下面的代码有标明. 1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<html xmlns="http://www.w3.org/1999/xhtml&qu

IE与注册表被锁定的解决办法_注册表

本文主要将讨论对IE浏览器及注册表修改的几种手段及相应解决办法本文要求您对注册表的相关知识略知一二 一.IE标题栏被修改请打开你的注册表工具(在运行菜单中输入regedit,不能用regedit者见后)查找: HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Main HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main 这两个地方,将其中的Windows Title主

asp.net GridView数据绑定与xml绑定

asp教程.net gridview数据绑定与xml绑定 当gridview编辑状态获取新值时,往往获取的是修改前的值. 我的分析:        很多时候我把数据绑定函数调用直接放在page_load()函数里,当gridview编辑状态获取新值时,往往获取的是修改前的值,这是因为页面加载先执行page_load()函数,数据绑定函数就会再次执行,这样gridview里的值就会又变成修改前的值,获取值时就是更改前的值. 解决办法:       把数据绑定函数放在page_load()函数的if

急救:向datagridview添加数据,删除数据

问题描述 本人是名学生,不太懂代码上的问题,所以请XD们可以详解datagridview已经连上SQL2005中的其中一个数据库(自己建的)我已经设置了datagridview启动编辑,启动添加,我想直接按button1为添加数据button2为删除数据并且与数据同步谢谢你们了这是我的毕业设计 解决方案 解决方案二:不要这样添加按钮启用datagridview自带的添加删除按钮就可以了解决方案三:可以通过获取选中datagridview的行的主键来进行数据的删除添加数据直接进行数据库插入操作就可

alg.exe是什么进程

alg.exe是微软Windows操作系统自身带有的一个正常程序.它被用于处理微软Windows网络连接共享和网络连接防火墙等程序的正常工作而存在.体积大约43.5Kb,如果该程序出现异常情况,会对系统造成极大影响. 进程基本信息描述如下: 进程文件:alg 或者alg.exe 进程名称:Application Layer Gateway Service 属于:Microsoft Windows Operating System windows系统 出品公司:Microsoft Corporat

玩游戏老掉线什么情况

一.玩游戏为什么老掉线 大家如果在发现玩游戏的时候老掉线,那么第一时间就应该是利用杀毒软件进行全盘的扫描,在确定不是因为病毒引起的,那么我们一起来看看其他的原因吧,看看你是属于哪种原因: 1.电脑中安装的软件和游戏有冲突.以前小编就遇到过这样的问题,在刚装游戏的时候,没什么事情,后来因为装了某个程序之后,导致冲突,游戏就经常掉线了.因为游戏都有防外挂功能,如果某些软件冲突就会被游戏认为使用了外挂. 2.电脑网络卡引起的掉线.在网速不怎么给力的时候,如果游戏出现的延时过于高,那么就会出现游戏断开的

Win7打开CDR文件是空白怎么办

  Win7系统打开CDR文件是空白的解决方法. 步骤如下: 一.这种情况可能很多朋友都遇到过,是什么原因引起cdr文件打开空白的呢?一般有以下两种原因: 1.版本不兼容.处理方法:用更高版本的打开. 2.在保存的时候,出现错误或者过早的关闭文件,造成数据丢失.这种情况比较悲惨,运气好的话,备份文件的数据不会丢失,但是会缺少最近几项记忆保存.运气不好,那只能重新做了. 3.cdr打开空白第三种情况:这个是最悲剧的,cdr文件打开空白,就是你的文件损坏了,比如不正当的保存.保存中断电.死机等都会造