如何从方法内部弹出消息框以确认删除?
通常我会在我的按钮中使用以下行: 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);
此致
熔体
答案 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);
}
}