I have a custom DropDownList control:
<cc1:CountriesControl ID="DdlCountry" TabIndex="69" runat="server" DefaultCountry="USA" OnSelectedIndexChanged="DdlCountryIndexChanged"
                                CssClass="DefaultDropdown" AutoPostBack="true" />
The DropDownList has a custom property called DefaultCountry. As you can see, the default value is set to "USA". However in my subclass, DefaultCountry is always null.
How do I get it to set the DefaultCountry to what is in the ASP.NET markup?
[DefaultProperty("Text"), ToolboxData("<{0}:CountriesControl runat=server></{0}:CountriesControl>")]
public class CountriesControl : DropDownList
{
    [Bindable(true), Category("Appearance"), DefaultValue("")]
    private String defaultCountry;
    [
    Category("Behavior"),
    DefaultValue(""),
    Description("Sets the default country"),
    NotifyParentProperty(true)
    ]
    public String DefaultCountry
    {
        get
        {
            return defaultCountry;
        }
        set
        {
            defaultCountry = value;
        }
    }
    public CountriesControl()
    {                        
        this.DataSource = CountriesDataSource();
        this.DataTextField = "CountryName";
        this.DataValueField = "Country";
        this.SelectedIndex = 0;
        this.DataBind();
        // DefaultCountry is always null?
        this.Items.Insert(0, new ListItem(this.DefaultCountry, "--"));
    }
// more code here
}
 
    