Мне нужна помощь. Я создаю пользовательский веб-элемент управления, который будет выбирать цвета.
На данный момент у него есть два [asp:textbox] на странице (foregroundColour и backgroundColour).
Я хочу, чтобы мой цвет переднего плана по умолчанию был "FFFFFF", а мой цвет фона - по умолчанию "000000", И я, пользователь, мог указать свои собственные начальные значения через тег.
<ucFontChooser id="testchooser" runat="server" foregroundcolor="AABBCC" />
У меня есть два свойства, которые привязаны к текстовым полям:
[DefaultValue("000000")]
public string ForegroundColor { get { return foregroundColorSelectorHex.Text; } set { foregroundColorSelectorHex.Text = value; } }
[DefaultValue("FFFFFF")]
public string BackgroundColor { get { return backgroundColorSelectorHex.Text; } set { backgroundColorSelectorHex.Text = value; } }
Обратите внимание, что я знаю, что DefaultValue предназначен только для окна свойств Visual Studio и фактически не устанавливает никакого значения.
Однако я попытался установить значение по умолчанию в конструкторе пользовательского элемента управления:
ForegroundColor = "000000"
Это дает мне исключение, потому что в конструкторе foregroundColorSelectorHex имеет значение null.
Поэтому, если я попытаюсь установить значение по умолчанию в событии OnInit или в *Page_Load*, оно просто всегда будет использовать заданное значение по умолчанию и установленное значение свойства "AABBCC" перезаписывается.
Каков правильный способ сделать то, что я пытаюсь?
Спасибо.