How to see the changed value in design mode of composite control

G

Guest

When I change a property, I can`t see it in design mode.

i defined the property as followed:

[Bindable(true)]
[Category("Box")]
[DefaultValue("Sophia")]
[Description("The Item description displayed in the control")]
public string DBItem_Description
{
get
{
EnsureChildControls();
return ItemDesc.Text;
}
set
{
EnsureChildControls();
ItemDesc.Text = value;
}
}

but it seems to ignore the default value and allso, if i change the value in
the design mode properties page it still ignores the change.

Any ideas?

thanks,
Elad.
 
W

Walter Wang [MSFT]

Hi,

If your control is inheriting from CompositeControl and doesn't change the
its child control tree based on property change, then you can override
RecreateChildControls() to workaround this issue:

protected override void RecreateChildControls()
{
EnsureChildControls();
}

The root cause of this issue is that the default implementation of
RecreateChildControls will clear the controls collection first which loses
the property value stored in the child control's ViewState.

There's a detailed discussion here: http://forums.asp.net/thread/792555.aspx

For the DefaultValueAttribute applied to this property, since this
attribute is used when the property is returned, and in your case, when the
property is not set, the control ItemDesc's Text property is never get a
change to set. That's why it's not working. I suggest you to set the
default property when you create the control. For example, if the control
is a TextBox:

protected override void CreateChildControls()
{
Controls.Clear();

ItemDesc = new TextBox();
ItemDesc.ID = "text1";
ItemDesc.Text = "Sophia";
Controls.Add(ItemDesc);
}



Sincerely,
Walter Wang ([email protected], remove 'online.')
Microsoft Online Community Support

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications. If you are using Outlook Express, please make sure you clear the
check box "Tools/Options/Read: Get 300 headers at a time" to see your reply
promptly.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscriptions/support/default.aspx.
==================================================

This posting is provided "AS IS" with no warranties, and confers no rights.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top