2016-03-23 10 views
0

例外エラーが発生したときにError.cshtmlが表示されない理由は誰にも分かります。それは、WebブラウザのタイトルでHttpStatus 500の言葉で空白を示した。MVC 6エラーハンドラがビューページを表示していませんか?

//Startup... 
public class Startup 
{ 
    public void Configure(IApplicationBuilder app) 
    { 
     app.UseExceptionHandler("/Home/Error"); 

     app.UseMvc(routes => { 
      routes.MapRoute(name: "default", template: "{controller=SignIn}/{action=Index}"); 
     }); 
    } 
} 
//Controller... 
public class HomeController : Controller 
{ 
    [HttpGet] 
    public IActionResult Error() 
    { 
     return View(); 
    } 
} 
public class SignInController : Controller 
{ 
    [HttpGet] 
    public IActionResult Index() 
    { 
     throw new Exception("Testing error handling"); 
     return View(); 
    } 
} 

[編集] しかし、私はapp.UseExceptionHandler("/Error.html");を使用している場合、それは静的なページですので、それが動作します。

+0

は、ページを表示していますか? –

+0

はい、 '/ Signin/Index'ビューのページが表示されます。 – fletchsod

+0

あなたの 'Configure'メソッドには' app.UseStaticFiles(); 'が存在しないので、サーバーが実際に静的ファイルを提供するのは奇妙です。 ** app'UseExceptionHandler( "/ error.html"); 'の後に**追加することが重要です。しかし、/ホーム/エラーと私はなぜあなたのために動作しない参照してください、私はあなたと同じコードを試してみましたと素晴らしいです。 Webアプリケーションテンプレートを使用して新しいASP.NET 5プロジェクトを作成し、実際のプロジェクトとの相違点をすべて確認してください。 –

答えて

0

あなたのルート定義で閉じ括弧が欠落している:例外を削除する

routes.MapRoute(name: "default", template: "{controller=SignIn}/{action=Index}"); 
+0

私はこのStackOverflowの投稿を入力したときにタイプミスでした。今やタイプミスを修正しました。 – fletchsod

+0

暗闇の中で:タイトルにHTTPStatus 500の言葉が表示されているので、500ページが読み込まれていますが、css/jsファイルはロードされていません。 'configure()'に 'app.UseStaticFiles();'を追加できますか? –