Кодирование mvc3 ajax.actionlink для сбоя модели - PullRequest
0 голосов
/ 24 февраля 2012

Я использую ajax actionlink, чтобы позволить пользователю удалить запись в model (database table).
Пользователь clicks в delete link,
JQuery dialog, чтобы запросить подтверждение.
Пользователь подтверждает, что хочет удалить, actionlink вызывает соответствующий метод на контроллере.
Метод пытается удалить соответствующую запись в базе данных, но не удается, например, база данных не работает по какой-то причине.
Поскольку я не обновляюэлемент на странице (я подозреваю, что onSuccess сработает?), как я могу сообщить, что запись не была удалена?
Так что я действительно спрашиваю, как передать возвращаемое значение из метода в Ajax ActionLink, илизаставить onFailure стрелять.
Я подозреваю, что могу иметь скрытое поле и обновить его, используя UpdateTargetId, а затем вызвать функцию onSuccess для проверки значения - но это лучший способ или это будет работать?

1 Ответ

1 голос
/ 24 февраля 2012

Вы можете использовать свойства OnSuccess и OnFailure в AjaxOptions:

<p>
@Ajax.ActionLink("Click Me", "About", new AjaxOptions { OnFailure = "OnFailureFunc", OnSuccess = "OnSuccessFunc" })
</p>

<script type="text/javascript">
    function OnFailureFunc() {
        alert("Error");
    }
    function OnSuccessFunc() {
        alert("Success");
    }
</script>
...