Ich habe diese einfache Ajax-Form in meinen MVC3 App, sendet diese E-Mail-Nachricht:Wie zeigt man eine Fehlermeldung nur in OnFailure von Ajax.BeginForm in MVC3 an?
@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" />
}
Wenn die Aktion eine Nachricht senden fehlschlägt, die Ausnahme auslöst. Die Ausnahme wird behandelt und in dem Error-(Fehler) angezeigt {} Javascript-Funktion:
function showError(error) {
$("#error").text(error.responseText);
};
Das Problem ist: error.responseText ist der HTML-Dump der gesamten Fehlerseite.
Ich muss nur die Ausnahme Fehlermeldung (was auch immer in ex.Message in MVC3 ist) anzeigen.
Die Implementierung von "öffentliche ActionResult SendMessage (Zeichenfolge Nachricht) {}" ist irrelevant.
Ich muss wissen, wie die Nachricht der Ausnahme nur in showError (Fehler) Javascript-Handler angezeigt wird.
Vielen Dank.
[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;
}
Bitte zeigen Sie Ihre SendMessage Aktion ... –
Nicht sicher, was es mit der Frage zu tun hat ... 8 | – monstro
b/c Sie können OnFailure nur verwenden, wenn Sie einen HTTP-Fehler erfassen möchten. Willst du verstehen, wie Sie Fehler –