自定义助手中的颜色 class

color class in custom helper

我有很多具有 属性 颜色(按钮颜色、文本颜色等)和 css class

的自定义控件

我想创建一个 class 在视图的最后:

@Html.ContentBlock(new ISSCStyle() { Color = "Blue", class="" } )

我创建了一个这样的 class :

public static class ISSCStyle
{
    public  static string color { get; set; }
}

我应该向我的 class 添加什么才能在视图中获得这种行为,我应该在我的自定义控件中做什么来引用这种颜色或者我不需要?

我的自定义控件的一部分是:

var sb = new StringBuilder();
sb.AppendFormat(
    "<h2 class='{1}'>{0}</h2>",
    title,
    "Blue".Equals(GlobalProperties.color) ? "blueHeader" : string.Empty
    );
this.TextWriter.WriteLine(sb.ToString());

解决方案是创建一个抽象 class

public abstract class ISSCStyle
{
    public  static string color { get; set; }
}

然后创建另一个 class 来继承那个 class 并使用它来创建自定义助手,我们将继承的 class 的实例作为参数传递。 然后在视图中我们将有

@Html.ContentBlock(new ISSCStyle() { Color = "Blue", class="" } )