2013-10-10 18 views
6

のモデルアイテムを必要とエラーが私のアプリケーションで発生するたびに、私は正しいエラーを表示することができないんだけどイベントビューアに表示されます。それの代わりに、私は次のエラーを取得する...辞書に渡さモデルアイテムは、「System.Web.Mvc.HandleErrorInfo」型であるが、この辞書はタイプ

モデルアイテムはタイプ「System.Web.Mvc.HandleErrorInfo」であるが、この辞書は「LayoutPageViewModel」

タイプのモデルアイテムが必要です

このエラーが発生するのはなぜですか(コントローラーがHandleErrorInfoタイプのモデルを元のビューに渡そうとしているためです)がわかりませんが、このエラーがイベントビューアーに表示されて本当の誤り。

だから、一連のイベントは、以下のとおりです。

  1. 例外は
  2. デフォルトのエラー処理は、タイプのモデルを渡すようにしようと、アプリケーションで発生した「System.Web.Mvc.HandleErrorInfo」受け入れるデフォルトのレイアウトページへdoesnのレイアウトは「HandleErrorInfo」
  3. カスタムエラー500ページタイプのモデルを渡されているので、別の例外がアプリケーションで発生

  4. は(web.configファイルで指定)ヒットした
  5. 「LayoutPageViewModel」のモデル、 〜しない任意のレイアウトを参照:

    @{ Layout = null; } 
    
  6. エラーページは正しく表示されますが、イベントビューアの例外は正しくありません。

Application_StartでHandleErrorAttributeフィルタのマスターとビューを設定しようとしましたが、イベントログに登録されているものがすべて停止しています。私はまた...コントローラに

protected override void OnException(ExceptionContext filterContext) 
{ 
    filterContext.Result = new ViewResult { 
     ViewName = "~/Views/Shared/Error.cshtml",     
    }; 
} 

を、以下のメソッドを追加しようとしたが、それはHandleErrorAttributeの回避策と同じ結果を持っています。

誰もが、私はこの問題を回避できる方法のアイデアを持っていますか?あなたが最後のタイプベースの問題を引き起こす可能二次エラーが発生しているよう

+0

この回答をお持ちですか? http://stackoverflow.com/questions/812235/error-handling-in-asp-net-mvc – Robert

+0

はい、私はそれを試みましたが、私のカスタムエラー500ページにリダイレクトせず、イベントログに警告を記録しません。 –

答えて

0

が鳴ります。

は、あなたが例外を処理する他の方法を試す前に、あなたの例外を表示する方法になります。

正しいエラーページが最初にヒットしたことをどのように知っていますか?エラーページが含まれないどのようなコンテンツ

、何かがエラーをトリガすることができますか?

エラーページにレイアウトページの参照がないとお伝えします。これが実際に使用されていることを二度と確認し、2番目のインスタンスで呼び出されるだけでなく、代わりにmainからレイアウトを削除して確実に確保します。

が原因あなたのようなエラーになります強く型付けされたレイアウト/マスターページに問題を取得するにはリスクがありませんので、あなたのエラーページは、常に独自の簡略化されたレイアウトのページを持っていることを確認します。

0

問題を解決する私の解決策は、レイアウトページの上部にある@modelディレクティブを削除して、私のモデルが通過する可能性のある別のモデル例えば

@if (Model is System.Web.Mvc.HandleErrorInfo) 
{ 
    <title>Error</title> 
} 
else if (Model.GetType() == typeof(MyApp.Models.LayoutPageViewModel)) 
{ 
    <meta name="description" content="@Model.PageMetaDescription"> 
    <title>@Model.PageTitleComplete</title> 
} 
関連する問題