テレリックの ajax 削除イベントを使用して、テレリック mvc グリッドからレコードを削除しようとしています。クライアントイベントも定義onDelete
しました。ここでは、いくつかのことを検証し、それに基づいてレコードを削除したいので、クライアント側のonDelete
機能は次のようになります
function onDelete(e) {
if (confirm("Are you sure you want to delete?")) {
$.getJSON('@Url.Action("GetStatus", "MyController")', { UserId: e.dataItem.UserId}, function (status) {
if (status == 0) {
return true;
}
else if (status == 1) {
return confirm("Status 1, sure you want to delete?");
}
else {
alert("Status 2, cannot be deleted");
return false;
}
});
}
else {
return false;
}
}
グリッド側では、このようなものがあります
.DataBinding(dataBinding => dataBinding.Ajax()
.Delete("_Delete", "MyController"))
.ClientEvents(events => events.OnDelete("onDelete"))
問題は、最初の確認でキャンセルを選択すると、レコードが削除されないことです。しかし、削除してもOKと言うと、さらなる検証(ajax応答を通じて行っている)を待たずにレコードを削除します。
私が単に置くreturn true
か、return false
それが機能するかどうか。
ajax の応答を待っていないようです。回避策はありますか?