我编写了一个继承自System.Web.UI.Control的自定义控件。我添加了如下的Style属性:
public class MyControl : Control
{
public CssStyleCollection Style
{
get { return ViewState["Style"] as CssStyleCollection; }
set { ViewState["Style"] = value; }
}
}
我是如下使用它的
<custom:MyControl runat="server" Style="float: left; padding: 2px 4px;" ... />
当我尝试加载页面时,出现以下异常:
无法从其字符串表示形式“float: left; padding: 2px 4px;”创建类型为“System.Web.UI.CssStyleCollection”的对象,用于属性“Style”。
我想我应该在属性中添加TypeConverter属性或类似的东西,但是我在System.Web.UI命名空间中找不到适当的属性。我也在Google上搜索了一下,关于这个问题的信息并不多。 我知道如果扩展WebControl,这将起作用,但我更喜欢处理Control的解决方案。
CssStylesCollection
集合。 - James Johnson