Comment afficher le message d'erreur uniquement dans OnFailure de l'Ajax.BeginForm dans MVC3?

J'ai cette simple ajax formulaire dans mon MVC3 app, qui envoie des messages électroniques:

@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" />
}

Si l'action ne parvient pas à envoyer un message, il lève l'exception. L'exception est traitée et affichée dans le showError(erreur){} fonction javascript:

function showError(error) { 
    $("#error").text(error.responseText);
};

Le problème est: erreur.responseText est le html de vidage de la totalité de la page d'erreur.

J'ai besoin d'afficher uniquement le message d'erreur exception (tout ce qui est dans ex.Message dans MVC3).

La mise en œuvre de "public ActionResult SendMessage(string message) { }" n'est pas pertinent.

J'ai besoin de savoir comment faire pour afficher le message de l'exception que dans showError(erreur) javascript gestionnaire.

Merci beaucoup.

    [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;
    }
s'il vous plaît montrer votre SendMessage action...
Pas sûr de ce qu'il a à voir avec la question... 8|
b/c vous ne pouvez pas utiliser onFailure, sauf si vous voulez capturer une erreur http. Voulez comprendre comment vous renvoyer l'erreur

OriginalL'auteur monstro | 2013-04-18