У меня есть эта простая форма ajax в моем приложении MVC3, которая отправляет сообщение по электронной почте:
@using (Ajax.BeginForm("SendMessage", new AjaxOptions {
LoadingElementId = "wait",
OnSuccess = "loadMessages",
OnFailure = "showError" }))
{
<input type="text" name="message" placeholder="Message" />
<input type="submit" name="submit" value="Send" />
}
Если действие не позволяет отправить сообщение, оно выдает исключение. Исключение обрабатывается и отображается в функции showError (error) {} javascript:
function showError(error) {
$("#error").text(error.responseText);
};
Проблема заключается в следующем: error.responseText - это дамп html всей страницы ошибки.
Мне нужно отобразить только сообщение об ошибке исключения (все, что находится в ex.Message в MVC3).
Реализация "public ActionResult SendMessage (строковое сообщение) {}" не имеет значения.
Мне нужно знать, как отображать сообщение об исключении только в обработчике javascript showError (error).
Спасибо, куча.
[HttpPost]
public ActionResult SendMessage(string message)
{
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
mail.From = new MailAddress("[email protected]");
mail.Subject = "Some Message";
mail.Body = message;
mail.To.Add("[email protected]");
SmtpServer.Send(mail);
return null;
}