Мне нужна помощь. Я создаю пользовательский веб-элемент управления, который будет выбирать цвета.
На данный момент на странице есть два [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 и фактически не устанавливает никакого значения.
Однако я попытался установить значение по умолчанию в конструкторе usercontrol, чтобы сделать:
ForegroundColor = "000000"
Это дает мне исключение, потому что в точке конструктора foregroundColorSelectorHex имеет значение null .
Так что, если я попытаюсь установить значение по умолчанию в событии OnInit или в * Page_Load *, тогда он просто всегда использует значение по умолчанию, которое я установил, и значение установленного свойства "AABBCC" перезаписывается.
Как правильно делать то, что я пытаюсь?
Спасибо.