在GridView中,可以通过设计界面GridViewr任务->编辑列->CommandField,很简单的添加的编辑和删除按钮

在前台源码中,可以看到GridView自动生成了两个列。

<asp:GridView ID="GridView1" runat="server" ondatabound="GridView1_DataBound"
    onrowdatabound="GridView1_RowDataBound">
    <Columns>
        <asp:CommandField HeaderText="编辑" ShowEditButton="True" />
        <asp:CommandField HeaderText="删除" ShowDeleteButton="True" />
    </Columns>
</asp:GridView>

但这样在执行更新和删除代码之前都没有一些比如”确定更新吗?“或”确定删除吗?“之类的操作提示

百度一下,发现很多网友都说可以在GridView1_RowDataBound事件添加 button.Attributes.Add("OnClick", "javascript:return confirm('确定删除吗?')");

这段代码来实现。

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)
        {
            ((LinkButton)e.Row.Cells[].Controls[]).Attributes.Add("onclick", "javascript:return confirm('你确认要删除吗?')");
        }
    }
}

可是响应GridView1_RowDataBound事件是要往返服务器的,没有必要为了一个提示又要重新绑定数据

一般像Button类的控件响应事件之前提示,都可以添加前台响应事件 OnClientClick="return confirm('确定删除吗?');"

<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="return confirm('确定删除吗?');" />

其实GridView也可以用这种方法来实现,将CommandField字段改为TemplateField字段。

将“编辑”和“删除”转换为TemplateField字段

然后就会发现前台源码变成了下面那样。

<asp:GridView ID="GridView1" runat="server" ondatabound="GridView1_DataBound"
    onrowdatabound="GridView1_RowDataBound" AutoGenerateColumns="False">
    <Columns>
        <asp:TemplateField HeaderText="编辑" ShowHeader="False">
            <EditItemTemplate>
                <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True"
                    CommandName="Update" Text="更新"></asp:LinkButton>
                &nbsp;<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False"
                    CommandName="Cancel" Text="取消"></asp:LinkButton>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False"
                    CommandName="Edit" Text="编辑"></asp:LinkButton>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="删除" ShowHeader="False">
            <ItemTemplate>
                <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False"
                    CommandName="Delete" Text="删除"></asp:LinkButton>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

这样的话,就可以在需要提示的<asp:LinkButton >添加这段代码 OnClientClick="return confirm('确定删除吗?');" 。比如:

<asp:TemplateField HeaderText="删除" ShowHeader="False">
    <ItemTemplate>
        <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False"
            CommandName="Delete" Text="删除"  OnClientClick="return confirm('确定删除吗?');">
        </asp:LinkButton>
    </ItemTemplate>

这样有一个问题就是自动生成的几个LinkButton,有些ID是重名的。上面的代码就有两个LinkButton1的ID和两个LinkButton2的ID。需要手动重命名LinkButton的ID

END

GridView中的编辑和删除按钮,执行更新和删除代码之前的更新提示或删除提示的更多相关文章

  1. extjs.net 按钮执行并显示Mask代码

    <ext:Button ID="ButtonTest" runat="server"  Width="65" Text="同 ...

  2. 模拟邮箱输入邮箱地址、收藏标签。input框输入内容后回车,内容显示成小方块并带删除按钮。

    模拟邮箱输入邮箱地址.收藏标签: 文本框输入文字后按回车键或者分号键,输入框中的文字变成小块并带删除按钮和操作. 页面代码: <!DOCTYPE html> <%@ page lan ...

  3. GridView中CheckBox的用法

    以下是我在GridView中控制CheckBox的全选/取消全选,根据子CheckBox处理全选CheckBox状态的操作并获取所选GridView中所选行的列的值. 脚本代码:    <scr ...

  4. GridView控件中插入自定义删除按钮并弹出确认框

    GridView控件中插入自定义删除按钮,要实现这个功能其实有多种方法,这里先记下我使用的方法,以后再添加其他方法. 一.实现步骤 1.在GridView中添加模板列(TemplateField). ...

  5. Gridview中的选择、删除、编辑、更新、取消留着备用。

    后台程序: public partial class tw2 : System.Web.UI.Page{    protected void Page_Load(object sender, Even ...

  6. openerp学习笔记 视图(tree\form)中隐藏按钮( 创建、编辑、删除 ),tree视图中启用编辑

    视图(tree\form)中隐藏按钮( 创建.编辑.删除 )create="false" edit="false" delete="false&quo ...

  7. asp.net中父子页面通过gridview中的按钮事件进行回传值的问题

    这两天写BS程序,遇到父子页面传值的问题,以前没写过web系统,用了几天时间才将问题解决,总结下记录下来: 问题描述: 父页面A中有一个gridview,每行6个列,有5列中均有一个按钮,单击按钮,会 ...

  8. GridView编辑、取消按钮自定义控件

    这个需求来自于论坛一位坛友提出的问题,他希望能够自定义编辑.取消按钮,而不是用GridView自带的编辑和取消.这里只当抛砖引玉,提出一些解决方案. 首先在页面前台设置一个GridView. < ...

  9. GridView中的更新按钮不能触发RowUpdating事件

    当点击“编辑”按钮以后,可以看到“更新”和“取消”按钮,“取消”按钮可以正常触发RowCancelingEdit事件,但是“更新”按钮不能触发RowUpdating事件. 解决方案: 在<asp ...

随机推荐

  1. Doug Lea

    如果IT的历史,是以人为主体串接起来的话,那么肯定少不了Doug Lea.这个鼻梁挂着眼镜,留着德王威廉二世的胡子,脸上永远挂着谦逊腼腆笑容,服务于纽约州立大学Oswego分校计算机科学系的老大爷. ...

  2. oracle10g获得Date类型字段无分,秒的解决方案!

    一般的数据库中,DATE字段只表示日期,不包含日期信息,而Oracle数据库中的DATE数据类型是包含日期.时间的,对于不同的Oracle jdbc驱动版本号.对于该问题的处理都有些差别. 近期使用 ...

  3. ResourceBundle

    ResourceBundle本质上也是一个映射,但是它提供了国际化的功能.  假设电脑设置的地区是中国大陆,语言是中文  那么你向ResourceBundle(资源约束名称为base)获取abc变量的 ...

  4. Java批处理操作

    批量,可以大大提高众多增加.删除.变化的步伐,它是有一个非常大的数据处理效率大收益. 的"连接池"相似.事实上就是先将多次操作(增删改)打包.然后再一次发送运行 主要用到两个方法: ...

  5. JMeter模拟多个用户进行登录

    1.将用户名密码保存在cvs或txt文件中格式为 username1,password1 username2,password2 username3,password4 一行一个,用户名和密码之间使用 ...

  6. poj 1328 Radar Installation (简单的贪心)

    Radar Installation Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 42925   Accepted: 94 ...

  7. Oracle安装及使用入门

    新手Oracle安装及使用入门   一.安装Oracle Step1 下载oracle压缩包并解压到同一文件夹下面 Step2 双击setup.exe进行安装 Step3:进入如下界面配置: 邮箱可不 ...

  8. android台 cocos2d-x 翻阅相册数据

    现在解决 程序如下所示: 1.采用 jni 转让 java 办法 启动专辑选择框 2.采用java得到的图片将被保存到本地 3.采用Cocos2d-x于 CCImage 阅读 JAVA码如下面:   ...

  9. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(12)-实现用户异步登录和T4模板

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(12)-实现用户异步登录和T4模板 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建  ...

  10. hdu 1098 Ignatius's puzz

    有关数论方面的题要仔细阅读,分析公式. Problem Description Ignatius is poor at math,he falls across a puzzle problem,so ...