我需要一些帮助。我正在构建一个定制的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