【问题标题】:I want to delete record from GridView.Before to this ask for confirmation like "Are you sure to delete?"我想从 GridView 中删除记录。在此之前要求确认,例如“您确定要删除吗?”
【发布时间】:2011-07-27 09:07:10
【问题描述】:

我想从 GridView 中删除记录。在此之前要求确认,例如“您确定要删除吗?”

我在 GridView 中使用了命令字段,

<asp:CommandField HeaderText="Delete" ShowDeleteButton="True" />

我用javascript写了一个函数

function confirm_Delete()
{
    var r = confirm("Are you sure you want to Remove this Record!");

    if (r == true)
    {
        alert("Record Deleted");
        return true;
    }
    else 
    {
        return false;
    }
}

我将如何在删除点击时调用它。 请推荐!

【问题讨论】:

    标签: c# javascript asp.net vb.net gridview


    【解决方案1】:

    你不能使用命令字段来实现这一点,你必须制作一个模板字段:

    <asp:TemplateField>
            <ItemTemplate>
                <asp:LinkButton ID="lbtnDelete" runat="server" CommandName="Delete" Text="Delete" 
                 OnClientClick="javascript:return confirm('Are you sure you want to Remove this Record!');">
                </asp:LinkButton>
            </ItemTemplate>
        </asp:TemplateField>
    

    它的行为方式与您当前使用命令字段的方式相同。

    【讨论】:

      【解决方案2】:
      protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
      {
          if (e.Row.RowType == DataControlRowType.DataRow)
          {
              ((LinkButton)e.Row.Cells[0].Controls[0]).Attributes.Add("onclick", "return Conformation();");
          }
      }
      

      【讨论】:

        【解决方案3】:

        我认为你可以在命令域中实现这一点

        假设它是第一列,Found Here

        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                // reference the Delete LinkButton
                LinkButton db = (LinkButton)e.Row.Cells[0].Controls[0];
        
                db.OnClientClick = "javascript:return confirm('Are you certain you want to delete?');"
            }
        }
        

        【讨论】:

        • if (e.ColumnIndex == dataGridView.Columns["clm_Delete"].Index) 是我如何验证在删除列中单击了删除按钮,如果你想调整它以使用某些东西除了第 1 列。
        【解决方案4】:

        我会像@Muhammad 告诉你的那样做,在服务器端删除代码我还会注册一个脚本来显示“记录已删除”消息,如下所示;

        public void MethodForDeletingARecord()
        {
            ScriptManager.RegisterStartupScript(this.Page, base.GetType(), "RecordDeletedMessage", "javascript:alert('Record Deleted');", true);
        }
        

        【讨论】:

        • 玛格丽特复制/粘贴您的代码只是为了给他自己投票。我已经举报了他,因为对我做了同样的事情。
        猜你喜欢
        • 1970-01-01
        • 2021-11-04
        • 2011-11-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-26
        • 2021-04-15
        相关资源
        最近更新 更多