1

我在将 Style 属性添加到 UserControl 时遇到了困难。当我尝试查看消费者页面时出现解析器异常。

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 ...
4

2 回答 2

1

实例不是字符串Style,反之亦然。Style.CopyFrom期望 aStyle作为参数,并且您正在传递 a String。这就是它无法复制到新样式对象的原因。

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

myControl.HeaderStyle.BorderStyle = BorderStyle.Solid;
myControl.HeaderStyle.BorderWidth = new Unit(1);
myControl.HeaderStyle.BorderColor = System.Drawing.Color.Blue;
于 2012-09-17T12:35:01.797 回答
0

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

control.ApplyStyle(styleName);
于 2012-09-17T12:24:23.643 回答