3

コントローラーに[HandleError]属性を設定しました。

これは私のアクションメソッドです:

    public ActionResult ShowError()
    {

        throw new NullReferenceException();
        return View();
    }

このアクション メソッドには、対応するビューがあります。

設定でカスタム エラーを設定しました

<customErrors mode="On">     
</customErrors>

Error.cshtmlViewsフォルダーの下の共有フォルダーにファイルがあります。

コントローラ メソッドに移動するとShowError、IDE にこのウィンドウが表示されます ここに画像の説明を入力

F5 キーを押すと、共有フォルダーのエラー ページではなく、ブラウザー ウィンドウにこれが表示されます。 ここに画像の説明を入力

エラーページを表示するには、他に何をする必要がありますか? を機能させるにはどうすればよいHandleErrorですか?

ありがとう

4

3 に答える 3

2

Ok。そのため、問題は私が使用していたブラウザ、つまりIE9でした。IE9では1KB未満のエラーページを表示するのに問題があるようです。@(new String(' ', 1000))エラーページの最後に配置して、機能させました。

于 2013-03-06T09:05:58.087 に答える
1

ドキュメントには次のように記載されています

HandleErrorAttribute フィルターで使用するカスタム エラー処理を有効にするには、次の例に示すように、アプリケーションの Web.config ファイルの system.web セクションに customErrors 要素を追加します。

<system.web>
  <customErrors mode="On" defaultRedirect="Error" />
</system.web>
于 2013-03-06T05:19:36.740 に答える
0

フリクションレスプーリーで説明されているように、ビューの名前を defaultRedirect="Error" に入れるか、アクション、コントローラー、またはグローバルの HandleError 属性で指定できます。

[HandleError(View="Error")]

明示的に指定する場合、ビューには「Error」以外の名前を付けることができます。たとえば、「ServerError」などです。

[HandleError(View="ServerError")]

柔軟性が必要な場合は、/Shared を使用してサブフォルダーを作成し、複数のエラー ビューをグループ化することもできます。

/共有/エラー/Server.cshtml

次に、属性でパスを使用します

[HandleError(View="Errors/Server")]

コントローラーと /Shared フォルダーがエラー ビュー用に検索されるフォルダー。

于 2014-01-08T00:34:18.593 に答える