【发布时间】:2011-11-09 16:08:05
【问题描述】:
正如我的标题所说,我有一个设置属性崩溃问题。
这是场景:
- 我创建了一个简单的自定义 ASP.Net 服务器控件,可以生成一些文本。
- 我想为该文本提供设计时属性,以便开发人员可以从属性窗口访问其样式。
- 除了我创建的
System.Web.UI.WebControls.Style类型的属性之外,属性窗口中的所有属性都可以正常工作。
这是我的财产:
[Bindable(true)]
[Category("Appearance")]
[Description("The style for the header")]
[Localizable(true)]
public Style HeaderTextStyle
{
get
{
Style s = (Style)(ViewState["HeaderTextStyle"] == null ? Styles.defaultHeaderStyle : ViewState["HeaderTextStyle"]);
return s;
}
set
{
ViewState["HeaderTextStyle"] = value;
}
}
哦,Styles.defaultHeaderStyle 只是一个来自内部类的属性,它返回一个新的Style。
让我指出,仅当我更改属性时才会发生挂起/崩溃,因此它不能来自 getter。
我不会粘贴我的渲染控件,因为即使我没有渲染任何东西也会发生错误。
这是什么原因造成的?
谢谢。
【问题讨论】:
-
Styles.defaultHeaderStyle 返回什么?
-
@rickschott 它返回一个样式。
public static Style defaultHeaderStyle { get { Style result = new Style(); result.Font.Bold = true; return result; } } -
我找到了解决方案。我会发布解释。
标签: asp.net visual-studio-2010 styles custom-server-controls design-time