У меня проблема с атрибутом значения по умолчанию.Значение по умолчанию в управлении сервером asp.net
Когда я добавляю свой элемент управления на страницу в режиме разработки, значение по умолчанию не работает. Это мой код:
[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>
Thnks за ответ, это работа, но только в режиме конструктора, есть ли способ, что мое значение свойства по умолчанию добавить в теге элемента управления, как это: cc1: KHTLabel> –
MHF
@MHF - атрибут 'DefaultValue' ** не сделает этого для вас, и я ничего не знаю об этом. Это не то, что для этого и достаточно избыточно, так как это приведет к дублированию значений. – Rob
@MHF. Мне просто интересно, если значение равно * default *, ** почему ** вы хотите увидеть его в своей разметке? =) – Rob