実際にはマスター ページがあり、このマスター ページを別のビュー (Index.cshtml) に追加しています。今度は別の個別の css ファイルを Index.cshtml ビューに追加したいと考えています。
質問する
23772 次
3 に答える
25
マスター ページのヘッド セクション (_Layout.cshtml など) に、RenderSection 呼び出しを追加します。ヘッダー セクションは次のようになります。
<head>
<meta charset="utf-8" />
<meta name="description" content="The content description" />
<link rel="shortcut icon" href="@Url.Content("~/Content/images/favicon.ico")" />
<title>@ViewBag.Title</title>
@RenderSection("css", false)
</head>
次に、Index.cshtml でセクションを使用して css リンクを追加します。
@section css {
<link href="@Url.Content("~/css/style.css")" rel="stylesheet"/>
}
「css」はセクションの一意の名前であり、一致する必要があることに注意してください。このセクションは、任意のビューで使用することもできます。css セクション内で指定した部分は、_Layout.cshtml で RenderSection プレースホルダーを配置した場所の html のヘッドタグ内でレンダリングされます。
于 2012-09-19T11:03:55.940 に答える
1
悪い習慣ですが、HTML リンク タグまたはスクリプト タグをビューの上部に追加するだけで、最新のブラウザーはこれをレンダリングします。必ずしもマスター ページの先頭にある必要はありません。
于 2012-09-19T14:41:42.027 に答える
0
Razorセクションまたは文字列コレクションを使用して ViewBag.CSS に保存し、後でレイアウトにレンダリングできます。または、かみそりに習熟していない場合は JavaScript を使用できます。
var $ = document; // shortcut
var cssId = 'myCss'; // you could encode the css path itself to generate id..
if (!$.getElementById(cssId))
{
var head = $.getElementsByTagName('head')[0];
var link = $.createElement('link');
link.id = cssId;
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = 'http://website.com/css/stylesheet.css';
link.media = 'all';
head.appendChild(link);
}
于 2012-09-19T10:48:13.803 に答える