asp.net弹出确认窗口

时间:2012-06-02 14:33:13

标签: c# asp.net button popup

我需要在删除按钮中添加一个“你确定”的弹出窗口,我不知道如何确定用户是否点击了确定或取消。

我是这样做的:

string message = "Are you sure you want to delete this user?";
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            sb.Append("return confirm('");
            sb.Append(message);
            sb.Append("');");
            Type type = this.GetType();
            ClientScript.RegisterOnSubmitStatement(type, "alert", sb.ToString());

4 个答案:

答案 0 :(得分:5)

您可以将按钮上的OnClientClick设置为:

return confirm("Are you sure you want to delete this user?");

如果用户未单击“确定”,则不会发生提交/回发。

答案 1 :(得分:2)

最简单的方法是将其添加到您的<input type="button|submit|reset" /><button /> html标记中(取消时不提交):OnClick="if(!confirm('Are you sure?')) return false;"

OnClientClick的事件重命名为<asp:Button /> - 它与CausesValidation="True"和/或UseSubmitBehavior="False"兼容,因为它会在之前添加 在html标记中。

答案 2 :(得分:1)

如果您使用的是ajax控件工具包,请使用confirmmextender

如果你想知道用户点击的按钮,试试这个

在您的网络表单中添加隐藏字段

并在用户单击“确定”时使用此值设置其值

  sb.Append("if (confirm(").Append(msg).Append("))")
                .Append("document.getElementById('")
                .Append(confirmResult.ClientID)
                .Append("').value = 'ok';");

在您的代码后面读取confirmResult的值,以了解用户是否单击了确定或取消

答案 3 :(得分:0)

我同意上述答案,但如果您不想混合服务器和客户端代码/事件,那么我建议您使用AjaxToolKit确认按钮http://bit.ly/NtmpOT