我有一个关于默认值属性的问题。
当我将我的控件添加到设计模式下的页面时,默认值不起作用。这是我的代码:
[DefaultProperty("Text")]
[ToolboxData("<{0}:KHTLabel runat=server key=dfd></{0}:KHTLabel>")]
public class KHTLabel : Label ,IKHTBaseControl
{
[Bindable(true)]
[Category("Appearance")]
[DefaultValue("KHT")]
[Localizable(true)]
public string Key
{
get
{
String s = (String)ViewState["Key"];
return ((s == null) ? String.Empty : s);
}
set
{
ViewState["Key"] = value;
}
}
protected override void RenderContents(HtmlTextWriter writer)
{......
但是,在设计模式下,当我从工具箱中添加一个控件时,该键不存在
<cc1:KHTLabel ID="KHTLabel1" runat="server"></cc1:KHTLabel>
DefaultValue
属性不会为您执行此操作,也没有我知道的任何东西可以执行此操作。它不是用来这样做的,而且相当冗余,因为这将导致重复的值。 - Rob