Asp.net-core-razor-view-start

提供:Dev Guides
移動先:案内検索

ASP.NET Core-Razor View Start

この章では、Razor View Startについて説明します。 MVCのRazorビューエンジンには、 _ ViewStart.cshtml という名前のファイルを探し、このファイル内のコードを実行するという規則があります。 個々のビュー内でコードを実行する前。

ViewStart Cshtml

  • ViewStartファイル内のコードはページのHTML出力にレンダリングできませんが、個々のビュー内のコードブロックから重複コードを削除するために使用できます。
  • この例では、すべてのビューで前の章で作成したレイアウトビューを使用する場合、すべてのビュー内にコードを配置する代わりに、ViewStart内にレイアウトビューを設定するコードを配置できます。

簡単な例を見て、これがどのように機能するかを見てみましょう。 このアプリケーションでは、すべてのビューでレイアウトビューが _Layout.cshtml であることを指定する必要はありません。 そのため、Viewsフォルダーを右クリックし、*追加→新規アイテム*を選択します。

レイアウトCshtml新しいアイテムの追加

ViewStartページ用のASP.NET MVCには特定のテンプレートがあるため、中央のペインで[MVC View Start Page]を選択します。 ここで最も重要な部分は、このファイルの名前が _ViewStart.cshtml であることです。 [追加]ボタンをクリックします。

View Cshtml

ViewStartファイルの主な用途は、レイアウトビューを設定することです。

次のプログラムに示すように、Index.cshtmlファイルに移動してレイアウト行を切り取り、それをViewStartファイルに追加します。

@{
   Layout = "~/Views/Shared/_Layout.cshtml";
}
  • MVCフレームワークがビューをレンダリングするときに、フォルダー階層のどこかにViewStartファイルがあるかどうかを確認します。
  • _ViewStartをViewsフォルダーに直接配置しました。 これは、Viewsフォルダー内にあるすべてのフォルダー内のすべてのビュー、Homeフォルダー内のビュー、Sharedフォルダー、および今後追加する他のコントローラーフォルダーに影響を与えます。
  • ViewStartを取得してHomeフォルダーにのみ配置すると、この少しのコードは、Homeフォルダーでこれらのビューの1つをレンダリングするときにのみ実行されます。
  • 複数のViewStartファイルを持つこともできるため、ViewStartフォルダにすべてのビューのレイアウトビューを設定するViewStart.cshtmlを含めることができます。
  • ただし、ホームフォルダー内のすべてのビューのデフォルトを変更する場合は、ホームフォルダー内に別のViewStartを配置して、レイアウトを別のものに設定できます。

すべてのファイルを保存して、アプリケーションを実行しましょう。

ViewStart File

ホームページが以前と同じようにレンダリングされ、レイアウトビューがまだ有効になっていることがわかります。