我有這個簡單的Ajax形式在我MVC3應用程序,發送電子郵件:如何僅在MVC3中的Ajax.BeginForm OnFailure中顯示錯誤消息?
@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(錯誤)顯示{} javascript函數:
function showError(error) {
$("#error").text(error.responseText);
};
的問題是:error.responseText是整個錯誤頁面的HTML 轉儲。
我只需要顯示異常錯誤消息(無論在MVC3的ex.Message中)。
「public ActionResult SendMessage(string message){}」的實現是不相關的。
我需要知道如何僅在showError(錯誤)javascript處理程序中顯示異常消息。
謝謝你一堆。
[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;
}
請顯示您的SendMessage操作... –
不知道它與問題有什麼關係... 8 | – monstro
b/c除非你想捕獲http錯誤,否則你不能使用onFailure。想要了解你如何返回錯誤 –