2011-03-18 50 views
0

我使用ASP.NET MVC 3與Razor和Ajax.ActionLink/BeginForm來更新部分視圖。當存在服務器端異常時,如何在瀏覽器中獲取並顯示異常詳細信息?如何從MVC3 ajax調用異常詳細信息

感謝

+0

你使用的HandleError處理的應用程式內異常?否則,如果您希望捕獲特定的異常,則可以在catch塊中轉儲TempData中的異常詳細信息並在重定向的頁面中訪問它。 http://www.gregshackles.com/2010/07/asp-net-mvc-do-you-know-where-your-tempdata-is/ – WorldIsRound 2011-03-18 16:53:29

+0

看起來我並不清楚這個問題,但找到了我正在尋找: 'code' function ajaxCallFailed(ajaxContext){ alert(ajaxContext._response._xmlHttpRequest.response); } – ZvonkoM 2011-03-18 18:42:36

回答

-1

你需要做兩件事情:首先創建一個過濾器中,你將與一塊要顯示的信息設置的結果在filterContext。其次,您將需要一段客戶端代碼來處理響應。你可以通過jQuery $ .ajaxError來做到這一點。

你也可以創建一個特定的控制器和一個更復雜的情景視圖。這說明如下:

http://christopheargento.com/2011/08/18/unifier-les-remontees-dexception-ajax-et-non-ajax-en-asp-net-mvc-3/

它是在法國,但有一個演示,並下載代碼。如果你需要更多的信息,你可以問我。

編輯:最後文章的英文版本發佈:http://blog.christopheargento.net/2012/06/14/unify-exception-handling-between-ajax-and-non-ajax-requests-in-asp-net-mvc/

+0

歡迎來到Stack Overflow!雖然這可能在理論上回答這個問題,[這將是更可取的](http://meta.stackexchange.com/q/8259)在這裏包括答案的重要部分,並提供供參考的鏈接。考慮到它是法語的,這對於這個答案特別重要。 – Kev 2011-08-21 13:45:36

+0

對不起,我認爲即使使用錯誤的語言,提供的源代碼也足以解決問題。 – 2011-08-21 17:47:15

+0

這不是重點。如果你發佈一個鏈接到外部來源,那麼你必須**總結文章的內容,解釋爲什麼以及如何解決OP所面臨的問題。否則,如果該網站發生故障,該網站將會出現問題,並且對該網站的未來用戶無用。否則,這個答案將需要刪除。 – Kev 2011-08-21 18:49:58