1

グリッドで Ajax データバインディングを使用して、ASP.NET MVC 用の Telerik 拡張機能を使用しています。次のように、コントローラー クラス全体で HandleError 属性を使用しています。

[HandleError]
public class MyController : Controller { ...

エラー処理は、通常の Action メソッドで正常に機能します。ただし、[GridAction] メソッド (新しいグリッド レコードの挿入を処理するメソッドなど) では、デフォルトで使用される「500 - 内部サーバー エラー」ポップアップを回避できません。ユーザーがレコードが挿入されていない理由を確認できるように、例外を吐き出したいのですが、Telerik GridAction メソッドと HandleError は一緒に再生したくないようです。

誰かがそこに行ったことがありますか?ありがとう、デイブ

4

2 に答える 2

2

これを使用しましたhttp://www.telerik.com/community/forums/aspnet-mvc/grid/how-to-return-error-information-to-grid-in-ajax-editing-mode.aspx

私のために問題を分類しました。

実際、グリッドから .OnError イベントを処理する必要がありました。

.ClientEvents(events => events
    .OnLoad("onLoad")
    .OnError("onError")
  )

)

<script type="text/javascript">  
function onLoad(e) {  
    $(this).find('.t-no-data td').text('Loading...');  
}  

function onError(e) {  
    if (e.textStatus == 'error') {  
        if (e.XMLHttpRequest.status == "500") {  
            alert("The server was unable to process your request.\n" + e.XMLHttpRequest.responseText);  
           e.preventDefault();  
        }  
    }  
}  
</script>  
于 2011-04-13T09:05:05.203 に答える
0

OnErrorイベントは、次の場合に発生します。

  1. 要求されているURLが見つかりません(404 HTTPコード)
  2. 未処理の.NET例外(500 HTTPコード)
  3. ModelStateエラー
  4. タイムアウト
于 2011-05-06T08:02:04.010 に答える