从方法确认删除记录

时间:2010-06-08 16:25:11

标签: c# javascript .net asp.net

如何从方法内部弹出消息框以确认删除?

通常我会在我的按钮中使用以下行: OnClientClick =“返回确认('您确定要删除此评论吗?');”

但是这个删除方法也可以通过查询字符串调用,所以我需要方法中的确认消息框功能吗?

// delete comment method
private void DeleteComment()
{

            int commentid = Int32.Parse(Request.QueryString["c"]);

            // call our delete method
            DB.DeleteComment(commentid);

}

我无法通过代码单击按钮,因为它不会触发OnClientClick事件 btnDelete_Click(null,null);

此致

熔体

3 个答案:

答案 0 :(得分:1)

您可以尝试使用此

ibtnDelete.Attributes.Add("onClick", "javascript:return confirm('Are you sure you want to delete ?');");

答案 1 :(得分:0)

听起来你需要用javascript检查查询字符串,然后显示你的提示 看看这个post

您可以修改方法并在body.onload或(jquery).ready函数中调用它。那么问题就变成了如何让服务器端方法知道结果?您可以设置一个单独的页面来处理删除并使用jquery ajax post方法调用它。

我猜这是我的$ .02

答案 2 :(得分:0)

我建议做这样的事情。

添加第二个查询字符串参数以指示是否已确认。绝对添加一些代码以确认用户已登录,以便此查询字符串方法不会被网络浏览器或其他东西击中,并意外删除所有评论。

// delete comment method
private void DeleteComment()
{

    if(Boolean.Parse(Request.QueryString["confirm"])
    {
          int commentid = Int32.Parse(Request.QueryString["c"]);

          // call our delete method
          DB.DeleteComment(commentid);
    }
    else
    {
          ScriptManager.RegisterStartupScript(this, this.GetType(), "ConfirmDelete", @"
            if(confirm('Are you sure you want to delete this comment?'))
                window.location = '[insert delete location with confirm set to true]';                
          ", true);
    }

}