当我按下删除按钮时,我会收到带有删除消息的警报,然后当我按下删除按钮时,记录不会被删除。问题是当你按下删除按钮时,没有执行 AJAX 方法。
事件
<script>
//Aquí hago que aparezca la alerta acompañado del valor del "id".
$(document).ready(function () {
$(".btn-eliminar").on("click", function () {
Swal.fire({
title: 'Está seguro que desea eliminar esta Charla?',
text: "No podrá recuperar los datos!",
type: 'warning',
showCloseButton: true,
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Sí, eliminarlo!',
cancelButtonText: 'Cancelar',
html: `<div class="lbl-id-oculto">${$(this).parent().siblings(".td-id").text().trim()}</div>`
})
});
//Aquí esta el código de la acción eliminar, cuando presiono eliminar le envió el parametro "id" para que sepa que registro eliminar, pero NO ELIMINA NADA.
$(document).on("click", ".swal2-confirm", function () {
$.ajax({
type: "POST",
url: '@Url.Action("EliminarCharla", "Charlas")',
data: { id: $(this).parent().siblings(".swal2-content").find(".lbl-id-oculto").text().trim() },
success: function (rpta) {
},
error: function (req, textStatus, errorThrown) {
alert('Ooops, something happened: ' + textStatus + ' ' + errorThrown);
}
});
});
});
</script>
控制器
public ActionResult EliminarCharla(string id)
{
ClsConexion con = new ClsConexion();
var Cnx = con.Conexion();
OracleCommand cmd = new OracleCommand("SIMEXA_SP_ELIMINAR_CHARLA", Cnx);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new OracleParameter("param_id", OracleDbType.Varchar2)).Value = id;
Cnx.Open();
OracleTransaction tx = Cnx.BeginTransaction();
cmd.ExecuteNonQuery();
tx.Commit();
Cnx.Close();
cmd.Dispose();
Cnx.Dispose();
return RedirectToAction("MostraCharlas");
}
因此,它
SweetAlert
有其验证所选选项的方式,这是通过then
.我希望它有所帮助。