1. ホーム
  2. css

[解決済み] razor ビューで .css ファイルを参照するには?

2022-04-11 23:34:02

質問

_Layout.cshtml ファイルに .css ファイルを設定する方法は知っていますが、ビュー単位でスタイルシートを適用するのはどうでしょうか?

ここで私が考えているのは、_Layout.cshtmlの中にある <head> タグを使用することができますが、非レイアウトビューの1つではそうではありません。この場合 <link> タグはどこに行くのでしょうか?

解決方法は?

サイト全体で再利用するCSSは <head> セクションの _Layout :

<head>
    <link href="@Url.Content("~/Styles/main.css")" rel="stylesheet" type="text/css" />
    @RenderSection("Styles", false)
</head>

を定義し、ビュー固有のスタイルが必要な場合は Styles セクションを作成します。

@section Styles {
    <link href="@Url.Content("~/Styles/view_specific_style.css")" rel="stylesheet" type="text/css" />
}

Edit: @RenderSectionの2番目のパラメータであるfalseは、このマスターページを使用するビューではセクションが必要ないことを意味し、ビューエンジンはビューに"Styles"が定義されていないことを完全に無視することを知っていると役に立ちます。trueの場合、ビューはレンダリングされず、"Styles"セクションが定義されていない限りエラーがスローされます。