是否可以動態設置背景顏色? 我在數據庫中設置了一種顏色。然後從css中的數據庫中讀取顏色。從Asp.net中的數據庫設置css顏色
其實我正在做一個web應用程序,它有藍色按鈕,藍色菜單和額外的。我從樣式表中設置了css顏色並將其加載到標題中。現在我無法將數據從我的cshtml文件傳遞到css文件。那麼如何設置顏色呢?請給我一個方法,讓我可以走這條路,實現我的目標。
是否可以動態設置背景顏色? 我在數據庫中設置了一種顏色。然後從css中的數據庫中讀取顏色。從Asp.net中的數據庫設置css顏色
其實我正在做一個web應用程序,它有藍色按鈕,藍色菜單和額外的。我從樣式表中設置了css顏色並將其加載到標題中。現在我無法將數據從我的cshtml文件傳遞到css文件。那麼如何設置顏色呢?請給我一個方法,讓我可以走這條路,實現我的目標。
你可以編寫一個動作過濾器來從數據庫中獲取你的顏色,將這些值傳遞給你使用它的佈局來覆蓋你的一些CSS樣式定義。
public class MyColors : ActionFilterAttribute
{
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
var primarColor = "red";
var vb=filterContext.Controller.ViewBag;
vb.PrimaryColor = primarColor;
base.OnActionExecuted(filterContext);
}
}
並在全球範圍內註冊該過濾器,所以這適用於整個應用程序。
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
GlobalFilters.Filters.Add(new MyColors());
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
並在您的佈局。
<head>
@Styles.Render("~/Content/css")
<style>
@{ var primary = String.IsNullOrEmpty(ViewBag.PrimaryColor)?
"black": ViewBag.PrimaryColor; }
h1
{
color: @primary;
}
</style>
</head>
感謝您的建議 –
定義在.css文件兩種風格:
.blue-button{
background: #00f;
}
.red-button{
background: #f00;
}
獲取從數據庫中的屬性,並將其保存在viewbag(或模型本身,也沒關係)。 在你看來,你定義你的按鈕是這樣的:
<input type="submit" class="@(ViewBag.IsThisBlue ? "blue-button" : "red-button")" value="Click Me">
編輯:我只是意識到你其實保存分貝的顏色。既然你不能直接把它傳遞給css,你可以在輸入本身上使用style屬性,就像我使用上面的class屬性一樣。
你使用的是c#還是vb.net?無論是改變班級的背景顏色都是可能的。 – KratosMafia
是的,這是可能的。如果您顯示一些存根代碼,我們可以提供具體的指導。 – HashPsi
其實我正在做一個web應用程序,它有藍色按鈕,藍色菜單和額外的。我從樣式表中設置了css顏色並將其加載到標題中。現在 我不能從我的cshtml文件傳遞數據到css文件。那麼如何設置顏色呢?請給我一個方法,讓我可以走這條路,實現我的目標。 –