Ich benutze das folgende Skript und es erfolgreich entfernen den zugrunde liegenden Datensatz aus der Datenbank. Beim Klicken auf die Bestätigung passiert jedoch überhaupt nichts. Bedeutung Ich muss beide Pop-ups schließen und dann F5 im Browser drücken, um die Ergebnisse zu sehen. Ich habe viele Dinge ausprobiert, aber muss einfach etwas sein, ich bin hier fehltJQUERY nicht schließen Pop-up und Seite aktualisieren
function deletePayment(customerPaymentId) {
//alert(customerPaymentId);
bootbox.confirm("Are you sure? This payment will be logically deleted", function (result) {
if (result) {
var url = '/CustomerPayment/Delete';
var data = {
id: customerPaymentId
};
$.post(url, data, function() {
window.location.reload();
});
}
});
return false;
}
Steuerungskode UNTEN:
//[HttpPost, ActionName("Delete")]
//[ValidateAntiForgeryToken]
//[Authorize(Roles = "Delete")]
public ActionResult Delete(int id)
{
CustomerPayment obj = _db.GetCustomerPayment(id);
_db.Edit(obj);
obj.TransactionDateTimeEnd = DateTime.Now;
_db.Save();
return View("Index", new { id = obj.CustomerId});
}
herausnehmen false? Bist du sicher, dass du Jquery mit einbaust? – KyleK
werfen Sie einen Blick auf die jquery Dokumente für $ .post: http://api.jquery.com/jquery.post/ Sie implementieren nur die 'success' Handler für $ .post, wenn der Beitrag fehlschlägt (nicht Rückgabe mit einem 200 (OK) Statuscode), das Fenster wird nie neu geladen. –
Es gibt keinen Grund, Ajax zu verwenden, wenn Sie nur 'window.location.reload();' aufrufen möchten, um die Seite neu zu laden. –