Отображать уведомление о сохранении данных в БД в MVC4 VB.NET использование бритвы

#jquery #vb.net #asp.net-mvc-4

#jquery #vb.net #asp.net-mvc-4

Вопрос:

Мне нужно отобразить сообщение с уведомлением для пользователя, когда он нажимает кнопку сохранения на странице. Эта кнопка сохранения вызовет событие щелчка в Jquery, а затем я вызываю функцию Ajax внутри этого события. В этом вызове ajax я вызываю свой метод действия в контроллере, который является методом HttpPost. Когда данные отправляются в data, я возвращаю целочисленное значение (1 для успеха, 0 для сбоя). Исходя из этого, мне нужно отобразить сообщение для пользователя.Как это сделать?

 $("#btnSave").click(function (e) {
            var vComments = $("#ddlComments :selected").text();
            $.ajax({
                url: "/Acc/Save",
                type: "POST",
                data: vComments,
                success: function (data) { },
                error: function (ex) { alert(ex.responseText); }
            });
        });
 

Контроллер:

 <httppost>
Function Save(ByVal comments as String) as actionResult
    dim result as int32 = save(comments)
if result = 1 Then
    'I need to display a notification saying successfully posted
else
    ' I need to display a notification "Unable to post"
End If
End Function
 

Комментарии:

1. вернуть Content(...) то, что вы ищете? Кроме того, если это AJAX, вы, вероятно, должны возвращать JsonResult и возвращать объект (например {error:false} , а {error:true,errorMessage:"Something went wrong"} затем проверять data.error ваш успешный обратный вызов).

2. это — вернуть содержимое («Успешно отправленные данные в БД»)? Если да, то как я могу обработать это в представлении для отображения пользователю?

Ответ №1:

Подумав об этом (и отличаясь от моего первоначального комментария) Я бы посоветовал воспользоваться HttpStatusCodeResult вашим действием:

 <httppost>
Function Save(ByVal comments as String) as actionResult
    dim result as int32 = save(comments)
    if result = 1 Then
        Return new HttpStatusCodeResult(204) ' 204 Successful, No Content
    else
        Return new HttpStatusCodeResult(500) ' Error, Internal Server
    End If
End Function
 

Теперь вы можете полагаться на error success обратные вызовы и для отображения соответствующего сообщения.

Комментарии:

1. ОК. как справиться с этим при успешном выполнении: функция (данные) {} ? Сообщение с уведомлением Jquery было бы лучше для моего сценария. Заранее спасибо за вашу помощь

2. success:function(){ alert('Successfully posted'); },error:function(){ alert('Unable to post'); } (или что-то в этом роде).

3. Это работает для меня. Спасибо за это. Но если я хочу отобразить какое-либо флэш-сообщение Jquery, как я могу это сделать?

4. На каком объекте? Тело? $('<p>',{text:'Post successful!'}).appendTo('body') Это добавило бы сообщение об успешном завершении в основной документ.

5. флэш-сообщение jquery на самом деле