Changes between Version 7 and Version 8 of HowTo/VisualStudioWeb2013Tutorial


Ignore:
Timestamp:
Aug 31, 2014, 2:48:36 PM (10 years ago)
Author:
村山 俊之
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • HowTo/VisualStudioWeb2013Tutorial

    v7 v8  
    232232[[Image(fig-hello-page-01.PNG, 640px, align=center)]]
    233233
     234==== 失敗する場合 ====
     235
     236うまく行きませんか? どんな症状になるでしょう?
     237
     238 * ビルドに失敗する場合
     239
     240実行しようとしたら以下の様なダイアログが表示されましたか?
     241
     242[[Image(fig-build-error.PNG, align=center)]]
     243
     244だとすれば、 Controller メソッドの記述で文法上のエラーなどが発生している可能性が高いです。「いいえ」をクリックしてダイアログを閉じ、 !HomeController.cs ファイルを開いてエラーのある箇所を修正しましょう。
     245
     246Visual Studio の画面下にエラー一覧があり、そこにエラーの内容がリストアップされているかもしれません。
     247
     248[[Image(fig-error-list.PNG, 640px, align=center)]]
     249
     250隠れていて表示されていない場合は、上図で赤い丸で囲った辺りをクリックしてみてください。
     251
     252もし、エラーが有るなら、そのエラーの内容をダブルクリックしてみましょう。実際にエラーになっている箇所にカーソルが移動するはずです。エラーの文面をヒントに、修正を試みてください。
     253
     254 * サーバーエラーが発生した場合
     255
     256ビルドは通ってブラウザは起動したけど、 Hello, World とは表示されず、代わりに下図のようなエラー画面が表示されてしまった。
     257
     258[[Image(fig-404.PNG, 640px, align=center)]]
     259
     260…のであれば、これは View の名前と Controller メソッドの名前が一致していないのが原因です。
     261
     262ASP.NET MVC では、指定された URL の名前に相当する名前の View と Controller が選択されることになっています。ブラウザの URL 欄に表示されている URL を確認してみましょう。以下の様な URL になっているはずです。
     263
     264{{{
     265http://localhost:(ポート番号)/Home/Hello
     266}}}
     267
     268ここで、 Web サーバーのルートから見て、参照しようとしているリソースのパスは「!Home/Hello」となりますよね? このとき、 Web サーバーが呼びだそうとする View ファイルと Controller メソッドの名前は、以下の通りとなるのです。
     269
     270 * View ファイル: (View のルートディレクトリ)\__Home__\__Hello__.cshtml
     271   * Visual Basic プロジェクトの場合、拡張子は .vbhtml
     272 * Controller メソッド: __Home__Controller クラスの __Hello__ メソッド (__Home__Controller.__Hello__)
     273
     274もし、このどちらかが存在しない場合、実行時にサーバー内にてエラーが発生し、そのエラーの内容がブラウザに伝えられます。特に、上図で示したような「リソースが見つかりませんでした」というエラーは、 Controller メソッドが存在しない (つまり、名前が間違っている) 場合に発生します (Controller メソッドは見つけたけど View が見つからない場合には、もうちょっと違う内容のサーバーエラーになります)。 !HomeController.cs ファイルを開き、追加したメソッドの名前を確認し、修正しましょう。
     275