0
ダイナミックCSSを読み、スタックオーバーフローでそれを行う方法を見つけ、必要なものに適応させました。ViewModelをCSSファイルに渡す
データは、モデル問題なしにロードされるものの、すぐにデバッガがビューに当たるように私はエラーを取得:
Object is not a reference of an object
ベースコントローラ:
public ActionResult CssDynamic()
{
Layout page = new Layout();
var dummyCorpId = 80;
page.Css = GetCss(dummyCorpId);
var model = page;
return new CssViewResult(model);
}
部分図に戻る
をpublic class CssViewResult : PartialViewResult
{
private readonly object model;
public CssViewResult(object model)
{
this.model = model;
}
public override void ExecuteResult(ControllerContext context)
{
context.HttpContext.Response.ContentType = "text/less";
base.ExecuteResult(context);
}
}
ビュー:
@model SpecCheck.Portals.Web.UI.ViewModels.Layout
//BRAND COLOURS///////////////////////////////////////////////////////////
//One---------------------------------------------------------------------
@@brand1: #@Model.Css.CssBrandColor1;
@@brand1dark: darken(@@brand1, 25%);
@@brand1darker: darken(@@brand1, 50%);
@@brand1light: lighten(@@brand1, 25%);
@@brand1lighter: lighten(@@brand1, 50%);
//Two--------------------------------------------------------------------
@@brand2: #@Model.Css.CssBrandColor2;
@@brand2dark: darken(@@brand2, 25%);
@@brand2darker: darken(@@brand2, 50%);
@@brand2light: lighten(@@brand2, 25%);
@@brand2lighter: lighten(@@brand2, 50%);
//ADDITIONAL COLORS//////////////////////////////////////////////////////
//Mono--------------------------------------------------------------------
@@blk: #000000;
@@wht: #FFFFFF;
//Additional Bobcat Colours (Non-Brand)-----------------------------------
@@addColour1: #@Model.Css.CssAddColor1;
@@addColour2: #@Model.Css.CssAddColor2;
@@addColour3: #@Model.Css.CssAddColor3;
//Feedback Colors---------------------------------------------------------
@@success: #00cc00;
@@warning: #ffdb4d;
@@danger: #ff4d4d;
//TEXT////////////////////////////////////////////////////////////////////
//Properties--------------------------------------------------------------
@@fontcolour: @Model.Css.CssFontColor;
@@fontsize: @Model.Css.CssFontSize px;
@@fontfamily: @Model.Css.CssFontFamily;
@@fontweight: @Model.Css.CssFontWeight;
//BUTTONS/////////////////////////////////////////////////////////////////
.button {
border: 0 none;
border-radius: 2px 2px 2px 2px;
color: @@brand1;
cursor: pointer;
display: inline-block;
line-height: 20px;
margin-bottom: 0;
margin-top: 10px;
padding: 7px 10px;
text-transform: none;
transition: all 0.3s ease 0s;
-moz-transition: all 0.3s ease 0s;
-webkit-transition: all 0.3s ease 0s;
width: auto;
background: none repeat scroll 0 0 @@brand2;
white-space: nowrap;
font-variant: small-caps;
&:hover {
background-color: @@brand2darker;
color: @@brand1lighter;
text-decoration:underline;
}
}
そして_layoutページ:
<link href="@Url.Action("CssDynamic", "Base")" rel="stylesheet" type="text/less"/>
:
これはSOの答えはそれについてより多くの情報を持っていますか?モデルやコントローラーで、またはそれは関係ありませんか? –
このDLLを別のプロジェクトで作成して、このDLLを他のプロジェクトで再利用することもできますが、実際には関係ありません。もっと理にかなっていると感じるたびにそれを入れてください。 –
チャームのように働いてくれてありがとう! –