#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 на самом деле