Как отменить событие в случае ошибки ajax, чтобы моя функция java-скрипта возвращала false и не вызывала метод в коде - PullRequest
0 голосов
/ 18 апреля 2019

У меня есть кнопка «Удалить», которая при нажатии вызывает метод для удаления некоторых записей из базы данных.

<asp:Button ID="btnIssuerRemove" runat="server" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" 
    CausesValidation="false" CommandName="Remove" Text="Remove" OnCommand="issuerCommand_Click" OnClientClick="return CheckIfExists()"/>
    <br />

Он выполнит метод «Удалить» в выделенном коде, если пользователь подтвердит действие удаления.

Затем я определил функцию CheckIfExists, которая должна возвращать false или true, еслиданные существуют или нет:

function CheckIfExists() {

    var ID = $('#ID').val(); 
    $.ajax({
        type: "GET",
        url: "MyPage.aspx/CheckIfDataExists",
        data: issuerID/*"{'recordID':'" + ID + "'}"*/,
        contentType: 'application/json; charset=utf-8',
        dataType: 'json',
        error: function (result) {
            alert("Error:" + result.d);            
        },
        success: function(result){            
           $("#dialog").dialog({
                modal: true,
                title: 'Please confirm',
                buttons: {
                    'CANCEL': function () {                          
                        $(this).dialog('close');
                        return false;
                    },
                    'OK': function () {
                        return true;
                    }
                }
            }); 
    });
}

Это метод с выделением кода, который возвращает некоторое логическое значение:

[WebMethod]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public static booleanCheckIssuerHasBins(string recordID)
{
        bool exists = CheckIfExists(recordID)
        return exists;
}  

, если true, у меня есть данные, если нет, я делаюне имеют.

Если возвращается значение true, мне нужно отобразить подтверждение пользователю.Если пользователь нажимает «ОК», функция возвращает значение «истина», и выполнение приложения переходит к методу «Удалить» в коде.Если возвращается false, диалоговое окно закрывается и ничего не происходит.

Прямо сейчас, несмотря ни на что, у меня всегда есть ошибка, но выполнение все равно продолжается.

Как я могу сделать что-то подобное

...