提示删除弹出窗口以确认删除 - GridView ASP.NET

时间:2014-05-16 18:22:07

标签: c# javascript asp.net

当用户从命令字段中单击“删除”按钮时,我需要提示一个窗口并询问:“您确定要删除Joe Smith吗?”

我在客户端编写但我需要显示行的名称。

<asp:CommandField ButtonType="Button" ShowDeleteButton="True" ShowEditButton="True"
        HeaderText="Action" />
    <asp:TemplateField ShowHeader="False">
        <ItemTemplate>
            <asp:Button ID="DeleteButton" runat="server"
                CommandName="Delete" Text="Delete" OnClientClick="return confirm('Are you sure you want to delete this event?');"
                AlternateText="Delete" />               
        </ItemTemplate>

这是删除行的代码。反正有没有在这个方法中编写提示?或者我需要做一个RowDataBound。

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
    try
    {
        string connectionString = System.Configuration.ConfigurationManager.AppSettings["DBConnection"];
        SqlConnection connDel = new SqlConnection(connectionString);

        int User_ID = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value);
        SqlCommand cmd = new SqlCommand("DELETE FROM DoNotPay_Email_List WHERE User_ID=" + User_ID + "", connDel);
        connDel.Open();
        int temp = cmd.ExecuteNonQuery();
        /* if (temp == 1)
         {
             lblMessage.Text = "Record deleted successfully";
        }*/
        BindGrid();
        cmd.Dispose();
        connDel.Close();
    }
    catch (SqlException ex)
    {
        lblMessage.Text = (ex.Message);
    }
}

                                                            
            

1 个答案:

答案 0 :(得分:0)

你不想在Row_Deleting中这样做,因为它正在运行服务器端;如果你走这条路,你需要为每个删除操作进行多次回发。

您需要在RowDataBound事件中设置OnClientClick属性,您可以在其中访问绑定的行值,并且可以连接您的消息以包含您想要的任何数据。

编辑:在第3步中查看RowDataBound代码,它将向您展示如何获取对按钮的引用,检索行数据以及自定义提示文本。

http://msdn.microsoft.com/en-us/library/bb428868.aspx