我在向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 ...
答案 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);