您可以編寫一個基於查詢字符串參數的自定義幫助器方法,將給定的類名附加到某個div。那麼當然你會在應用背景圖像的CSS文件中使用不同的類定義。
例如:
public static class HtmlExtensions
{
public static string BannerClass(this HtmlHelper html)
{
var bg = html.ViewContext.Controller.ValueProvider.GetValue("bg");
if (bg == null || string.IsNullOrEmpty(bg.AttemptedValue))
{
// no bg parameter => return a default class
return "default_banner";
}
if (string.Equals("a", bg.AttemptedValue))
{
return "banner_a";
}
else if (string.Equals("b", bg.AttemptedValue))
{
return "banner_b";
}
// unknown value for the bg parameter => return a default class
return "default_banner";
}
}
,然後在_Layout
,可以將這個類適用於一些佔位像一個div甚至身體:
<div class="@Html.BannerClass()">OK</div>
這樣,它總是會申請所有視圖都在你的應用程
現在,所有剩下的就是定義你的CSS規則的不同橫幅:
.default_banner {
background-image: url('../images/default_banner.png')
}
.banner_a {
background-image: url('../images/banner_a.png')
}
.banner_b {
background-image: url('../images/banner_b.png')
}
感謝。但這似乎只適用於當前的網址。我需要更改所有鏈接以包含相同的查詢字符串。有什麼辦法可以堅持querystring? – StarCub
沒關係,我意識到我可以將它保存在會話中,並檢查會話是否爲空。 – StarCub