如何请求客户端确认在服务器端执行操作(如发送电子邮件)ASP.NET C#

时间:2017-07-24 08:15:14

标签: c# jquery asp.net email

我有一个按钮,只是触发一个发送电子邮件的功能。我需要用户的确认来发送该电子邮件或取消该过程,这是我的代码:

  • 按钮 <asp:Button ID="enviar" runat="server" Text="Envíar" OnClick = "enviar_Click"/>
  • enviar_Click()服务器端的C#功能

    protected void enviar_Click(object sender, EventArgs e)

  • jquery函数返回隐藏值以填充电子邮件

    elementosCompra = elementosCompra.filter(Boolean);
    
    $("#hiddenCompra").val(elementosCompra);
    $('#HiddenPuntos').val(hiddenPuntos);
    

2 个答案:

答案 0 :(得分:2)

Javescript方法:

function requestConfirmation() {
  var answer = confirm('Do u want to continue ?');
  return answer;
}
<form>
  <input type="submit" onClick="return requestConfirmation();" />
</form>

由于您使用的是ASPX表单,因此必须将您的aspx代码更改为

<asp:Button ID="enviar" runat="server" Text="Envíar" OnClientClick = "return requestConfirmation();" OnClick = "enviar_Click"/>
<script>
    function requestConfirmation() {
      var answer = confirm('Do u want to continue ?');
      return answer;
    }
</script>

据此,仅当用户使用javascript确认对话框确认后,才会发生PostBack。如果用户点击取消,则不会提交任何内容。

答案 1 :(得分:1)

使用Jquery.confirm.min.js库

$.confirm({
 title: 'Confirm Message',
 text: 'Want to send?'
 confirm: function(){
  //your ajax call
},cancel:function(){
  return false;
},
confirmButton: "Yes",
cancelButton: "No"
});