将Style属性添加到UserControl

时间:2012-09-17 12:20:35

标签: c# asp.net asp.net-3.5

我在向UserControl添加Style属性时遇到了困难。当我尝试查看使用者页面时,有一个解析器异常。

private Style _headerStyle = new Style();
public Style HeaderStyle
{
    get { return _headerStyle ; }
    set
    {
        _headerStyle .CopyFrom(value);
    }
}

用法:

Style="border: 1px solid blue;"

错误:

Cannot create an object of type 'System.Web.UI.WebControls.Style' from its string representation ...

2 个答案:

答案 0 :(得分:1)

Style实例不是字符串,反之亦然。 Style.CopyFrom需要Style作为参数,并且您传递了String。这就是无法将其复制到新样式对象的原因。

如果您想以编程方式为UserControl提供边框:

myControl.HeaderStyle.BorderStyle = BorderStyle.Solid;
myControl.HeaderStyle.BorderWidth = new Unit(1);
myControl.HeaderStyle.BorderColor = System.Drawing.Color.Blue;

答案 1 :(得分:0)

您尝试创建ASP.NET Style但声明了CSS样式,这就是问题所在。如果要应用ASP.NET样式,则需要调用ApplyStyle方法:

control.ApplyStyle(styleName);