我需要一些幫助。我正在構建一個定製的Web用戶控件,它將會選擇顏色。asp.net用戶控件默認屬性值
截至目前,它在頁面上有兩個[asp:textbox] es(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; } }
請注意,我知道,將默認值僅適用於Visual Studio的屬性窗口中,並不實際設置的任何值。
不過,我已經嘗試設置默認值由用戶控件的構造函數來做到:
ForegroundColor = "000000"
這給了我一個例外,因爲在構造來看,foregroundColorSelectorHex是null。
所以,如果我嘗試在的OnInit事件設置默認,或*的Page_Load *那麼它只是始終使用我設置的默認和「AABBCC」的設定屬性值將被覆蓋。
什麼是正確的方式做我想要什麼?
謝謝。
這是在頁面生命週期中賦值太晚的值。 – Matthew 2011-03-29 18:40:44