0

ASP.NET MVC 4を使用してWebサイトを構築しようとしています。プロジェクトには、メインレイアウト(_Layout.cshtml)を使用するすべてのビューに影響するcssファイルが付属しています。ビューに応じて3つの異なる背景色のい​​ずれかを使用できるようにしたいので、サポートが必要です。これが私がこれまでに持っているものです:

/* main layout
----------------------------------------------------------*/

.content-wrapper {
    margin: 0 auto;
    max-width: 960px;
}

#body {
    background-color: #eb6f5c;
    clear: both;
    padding-bottom: 35px;
}

#body#Geldi {
    background-color: #a0f3ab;
    clear: both;
    padding-bottom: 35px;
}

#body#Login {
    background-color: #e8f3a0;
    clear: both;
    padding-bottom: 35px;
}


footer {
    clear: both;
    background-color: #e2e2e2;
    font-size: .8em;
    height: 100px;
}

研究は私をこれ以上に導きませんでした。私のページはすべてまだピンクがかった赤です(#eb6f5c)。特定のビューに「Geldi」ボディタイプまたは「Login」ボディタイプを使用することをVisualStudioに伝えるにはどうすればよいですか?

4

1 に答える 1

2

まず、その特定の CSS セレクターを使用できないと思います (ID="body" と ID="Login" (または "Geldi") を持つ要素を選択するように変換されると思いますが、CSS は私の強みではありません)。ページの body タグに設定している場合は、HTML 要素名で選択できるので を取り除いて#bodyそのまま使用してください。body代わりに:body#Loginそしてbody#Geldi

その後、ViewData を使用し、それをサブビュー (ログイン ビューなど) に設定すると、マスター ビューで使用できるようになります。

例えば:

_Layout.cshtml

<body id='@(ViewData["PageId"] ?? "")'>
    @RenderBody()
</body>

ログイン.cshtml

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
    ViewData["PageId"] = "Login";
}

<div id='content'>
    <!-- All of your page content here and whatever -->
</div>
于 2012-07-31T01:53:57.817 に答える