我使用Telerik Extensions for ASP.NET MVC,在網格上使用Ajax數據綁定。我使用的是整個控制器類的HandleError屬性,就像這樣:我可以在Telerik [GridAction]上使用[HandleError]嗎? (Telerik MVC)
[的HandleError]
公共類myController的:控制器 {...
和錯誤處理的常規操作方法,工作正常。但是,在[GridAction]方法中,例如處理插入新網格記錄的方法,我無法繞過缺省使用的dang「500 - Internal Server Error」彈出窗口。我希望能夠吐出一個異常,以便用戶可以明白爲什麼他們的記錄沒有被插入,但Telerik GridAction方法和HandleError似乎不想一起玩。
有人在那裏和/或做過嗎? 謝謝, 戴夫
謝謝,我卻看到了那個帖子,但..如果有什麼錯誤不在的ModelState?例如如果在我調用TryUpdateModel()的時候拋出sqlexception,當我調用我的dataContext來保存數據時?如果我不夠清楚,請告訴我 - 如有必要,我可以發佈代碼示例。 tx .. – dizzwave 2011-04-13 18:42:48
我通過包裝DbContext.SaveChanges()並捕獲任何異常來解決此問題。從這些我建立一個這樣的字典: 'code' var reply = new Dictionary(); 嘗試 { MyContext.SaveChanges(); //只是讓異常發生 } \t \t \t} 趕上(DbEntityValidationException前) { 的foreach(在ex.EntityValidationErrors變種E) { \t的foreach(VAR在e.ValidationErrors陽離子) { \t答覆。添加(ve.PropertyName,ve.ErrorMessage); \t} } } return reply; –
2013-03-15 04:53:04
對不起以前評論的格式 - 我無法使'code' thingy工作.... – 2013-03-15 05:00:44