1

我需要在删除按钮上添加一个“你确定”弹出窗口,我不确定如何获取用户是单击确定还是取消。

这是我的做法:

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

4 回答 4

5

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

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

如果用户不点击确定,那么提交/回发将不会发生。

于 2012-06-02T15:45:12.697 回答
2

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

将事件重命名为OnClientClickfor <asp:Button />- 它与CausesValidation="True"and/or兼容UseSubmitBehavior="False",因为它在 html 标记中添加到它们之前。

于 2012-06-02T14:59:36.180 回答
1

如果您使用的是 ajax 控制工具包,只需使用 confirmextender

如果你想知道用户点击了哪个按钮试试这个

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

并在用户单击确定时使用它来设置他的值

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

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

于 2012-06-02T15:08:22.650 回答
0

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

于 2012-06-02T20:46:48.590 回答