2010-11-04 62 views
0

我有一個asp.net控件,它包含坐在Ajax更新面板之上的網格視圖。該控件已添加到sharepoint頁面。當點擊一個按鈕時,會調用一些服務器代碼來存儲網格的內容。未能在共享點上發現ASP.Net服務器錯誤

如果服務器代碼拋出一個錯誤,我想吐出一個顯示錯誤消息的javascript警報,但由於某種原因,從服務器冒出的錯誤是通用500服務器錯誤,它不包含任何錯誤原始錯誤的細節。

任何人都可以解釋爲什麼這是?

非常感謝 格里

回答

0

ASP.NET(和SharePoint)的默認行爲是當一個異常被拋出,顯示一般錯誤頁面。出於安全原因,此頁面隱藏了錯誤的所有細節。通過web.config中的調試設置,你可以得到一個堆棧跟蹤,但是這不會給你在javascript中容易操作的東西。

要返回自定義錯誤頁面,您可以設置一個全局未處理的異常處理程序(可能是過度處理此問題),或者您可以捕獲異常並適當修改響應。對於休息方法,您可以清除響應,將狀態設置爲500並將錯誤消息寫入響應。對於UpdatePanel,您可以將面板渲染爲錯誤消息或腳本來顯示警報。不知道在這種情況下你是否會設置狀態 - UpdatePanel是一個醜惡的黑客在webforms中僞造真正的ajax,所以你不能指望代碼特別乾淨。

相關問題