This question is better answered in .dotnet.framework.aspnet.
Anyway, take a look at this caching article. It should prove useful.
--
-oj
http://www.rac4sql.net
"Versteijn" <versteijn@538mail.nl> wrote in message
news:4d19834f.0402290936.79156a16@posting.google.c om...[color=blue]
> Hello all
>
> I am developing a CountrySelector control (which I would like to share
> with anyone), but I am quite a newby in this custom control area.
>
> You can find it at:
>
http://home.kabelfoon.nl/~juliusd/vb...trySelector.vb
>
> Some questions I have are:
> - In what event should the items be added. In this case (PreRender)
> items added on every render (duh) and get duplicated when ViewState is
> enabled. Best would be if the items show up in the designer already
> but only in designmode and not with <ListItem> in the HTML source.
> - How can I override ViewState get/set methods to only save the
> current selection and not the whole collection? It will also need to
> save whether it is the first render (for the use of the DefaultCountry
> property)
> - What behaviour to expect when an invalid countrycode is selected by
> consuming (.net) code (e.g. in the DefaultCountry property)?
> - Is it possible to use System.Globalization to populate the
> collection with country(code)'s?
>
> Thank you in advance.
>
> Hope to hear from you
>
> Freek Versteijn
>
>
>
> Here is the concept code:
>
>
>
> Imports System.ComponentModel
> Imports System.Web.UI
> Imports System.Web.UI.WebControls
>
> <ToolboxData("<{0}:CountrySelector
> runat=server></{0}:CountrySelector>")> Public Class CountrySelector
> Inherits System.Web.UI.WebControls.DropDownList
> Protected _DefaultCountry As String
>
> <Description("The initial country's code")> _
> Public Property DefaultCountry() As String
> Get
> Return _DefaultCountry
> End Get
> Set(ByVal Value As String)
> _DefaultCountry = ("" & Value).ToUpper()
> End Set
> End Property
>
> 'TODO:
> ' [ ] Move adding of items to other method?
> ' [ ] Show DefaultCountry at first render
> ' [ ] ViewState to only save the selected item
> ' [ ] Use System.Globalization (RegionInfo.DisplayName or
> .EnglishName depending on CurrentCulture) for populating the Items
> collection if possible
>
> Protected Overrides Sub OnPreRender(ByVal e As EventArgs)
> Items.Add(New ListItem("Albania", "AL"))
> Items.Add(New ListItem("Algeria", "DZ"))
> Items.Add(New ListItem("American Samoa", "AS"))
> Items.Add(New ListItem("Andorra", "AD"))
> Items.Add(New ListItem("Angola", "AO"))
> Items.Add(New ListItem("Anguilla", "AI"))
> Items.Add(New ListItem("Antarctica", "AQ"))
> Items.Add(New ListItem("Antigua/Barbuda", "AG"))
> Items.Add(New ListItem("Argentina", "AR"))
> Items.Add(New ListItem("Armenia", "AM"))
> Items.Add(New ListItem("Aruba", "AW"))
> Items.Add(New ListItem("Australia", "AU"))
> Items.Add(New ListItem("Austria", "AT"))
> Items.Add(New ListItem("Azerbaijan", "AZ"))
> Items.Add(New ListItem("Bahamas", "BS"))
> Items.Add(New ListItem("Bahrain", "BH"))
> Items.Add(New ListItem("Bangladesh", "BD"))
> Items.Add(New ListItem("Barbados", "BB"))
> Items.Add(New ListItem("Belarus", "BY"))
> Items.Add(New ListItem("Belgium", "BE"))
> Items.Add(New ListItem("Belize", "BZ"))
> Items.Add(New ListItem("Benin", "BJ"))
> Items.Add(New ListItem("Bermuda", "BM"))
> Items.Add(New ListItem("Bhutan", "BT"))
> Items.Add(New ListItem("Bolivia", "BO"))
> Items.Add(New ListItem("Bosnia", "BA"))
> Items.Add(New ListItem("Botswana", "BW"))
> Items.Add(New ListItem("Bouvet Island", "BV"))
> Items.Add(New ListItem("Brazil", "BR"))
> Items.Add(New ListItem("British Indian Ocean Territory",
> "IO"))
> Items.Add(New ListItem("British West Indies", "WI"))
> Items.Add(New ListItem("Brunei Darussalam", "BN"))
> Items.Add(New ListItem("Bulgaria", "BG"))
> Items.Add(New ListItem("Burkina Faso", "BF"))
> Items.Add(New ListItem("Burma", "BU"))
> Items.Add(New ListItem("Burundi", "BI"))
> Items.Add(New ListItem("Cambodia", "KH"))
> Items.Add(New ListItem("Cameroon", "CM"))
> Items.Add(New ListItem("Canada", "CA"))
> Items.Add(New ListItem("Cape Verde", "CV"))
> Items.Add(New ListItem("Cayman Islands", "KY"))
> Items.Add(New ListItem("Central Africa", "CF"))
> Items.Add(New ListItem("Chad", "TD"))
> Items.Add(New ListItem("Chile", "CL"))
> Items.Add(New ListItem("China", "CN"))
> Items.Add(New ListItem("Christmas Island", "CX"))
> Items.Add(New ListItem("Cocos (Keeling) Islands", "CC"))
> Items.Add(New ListItem("Colombia", "CO"))
> Items.Add(New ListItem("Comoros", "KM"))
> Items.Add(New ListItem("Congo", "CG"))
> Items.Add(New ListItem("Cook Islands", "CK"))
> Items.Add(New ListItem("Costa Rica", "CR"))
> Items.Add(New ListItem("Cote D'Ivoire", "CI"))
> Items.Add(New ListItem("Croatia", "HR"))
> Items.Add(New ListItem("Cuba", "CU"))
> Items.Add(New ListItem("Cyprus", "CY"))
> Items.Add(New ListItem("Czech Republic", "CZ"))
> Items.Add(New ListItem("Denmark", "DK"))
> Items.Add(New ListItem("Djibouti", "DJ"))
> Items.Add(New ListItem("Dominica", "DM"))
> Items.Add(New ListItem("Dominican Republic", "DO"))
> Items.Add(New ListItem("East Timor", "TP"))
> Items.Add(New ListItem("Ecuador", "EC"))
> Items.Add(New ListItem("Egypt", "EG"))
> Items.Add(New ListItem("El Salvador", "SV"))
> Items.Add(New ListItem("Equatorial Guinea", "GQ"))
> Items.Add(New ListItem("Eritrea", "ER"))
> Items.Add(New ListItem("Estonia", "EE"))
> Items.Add(New ListItem("Ethiopia", "ET"))
> Items.Add(New ListItem("Faeroe Islands", "FO"))
> Items.Add(New ListItem("Falkland Islands", "FK"))
> Items.Add(New ListItem("Fiji", "FJ"))
> Items.Add(New ListItem("Finland", "FI"))
> Items.Add(New ListItem("France", "FR"))
> Items.Add(New ListItem("French Polynesia", "PF"))
> Items.Add(New ListItem("French Southern Territories", "TF"))
> Items.Add(New ListItem("Gabon", "GA"))
> Items.Add(New ListItem("Gambia", "GM"))
> Items.Add(New ListItem("Gaza", "XA"))
> Items.Add(New ListItem("Georgia", "GE"))
> Items.Add(New ListItem("Germany", "DE"))
> Items.Add(New ListItem("Ghana", "GH"))
> Items.Add(New ListItem("Gibraltar", "GI"))
> Items.Add(New ListItem("Greece", "GR"))
> Items.Add(New ListItem("Greenland", "GL"))
> Items.Add(New ListItem("Grenada", "GD"))
> Items.Add(New ListItem("Guadeloupe", "GP"))
> Items.Add(New ListItem("Guam", "GU"))
> Items.Add(New ListItem("Guatemala", "GT"))
> Items.Add(New ListItem("Guiana", "GF"))
> Items.Add(New ListItem("Guinea", "GN"))
> Items.Add(New ListItem("Guinea-Bissau", "GW"))
> Items.Add(New ListItem("Guyana", "GY"))
> Items.Add(New ListItem("Haiti", "HT"))
> Items.Add(New ListItem("Heard And Mcdonald Islands", "HM"))
> Items.Add(New ListItem("Held Territories", "XH"))
> Items.Add(New ListItem("Honduras", "HN"))
> Items.Add(New ListItem("Hong Kong", "HK"))
> Items.Add(New ListItem("Hungary", "HU"))
> Items.Add(New ListItem("Iceland", "IS"))
> Items.Add(New ListItem("India", "IN"))
> Items.Add(New ListItem("Indian Ocean Islands", "XI"))
> Items.Add(New ListItem("Indonesia", "ID"))
> Items.Add(New ListItem("Iran", "IN"))
> Items.Add(New ListItem("Iraq", "IQ"))
> Items.Add(New ListItem("Ireland", "IE"))
> Items.Add(New ListItem("Israel", "IL"))
> Items.Add(New ListItem("Italy", "IT"))
> Items.Add(New ListItem("Jamaica", "JM"))
> Items.Add(New ListItem("Japan", "JP"))
> Items.Add(New ListItem("Jordan", "JO"))
> Items.Add(New ListItem("Kazakhstan", "KZ"))
> Items.Add(New ListItem("Kenya", "KE"))
> Items.Add(New ListItem("Kiribati", "KI"))
> Items.Add(New ListItem("Korea", "KR"))
> Items.Add(New ListItem("Kuwait", "KW"))
> Items.Add(New ListItem("Kyrgyzstan", "KG"))
> Items.Add(New ListItem("Laos", "LA"))
> Items.Add(New ListItem("Latvia", "LV"))
> Items.Add(New ListItem("Lebanon", "LB"))
> Items.Add(New ListItem("Lesotho", "LS"))
> Items.Add(New ListItem("Liberia", "LR"))
> Items.Add(New ListItem("Libya", "LY"))
> Items.Add(New ListItem("Liechtenstein", "LI"))
> Items.Add(New ListItem("Lithuania", "LT"))
> Items.Add(New ListItem("Luxembourg", "LU"))
> Items.Add(New ListItem("Macau", "MO"))
> Items.Add(New ListItem("Macedonia", "MK"))
> Items.Add(New ListItem("Madagascar", "MG"))
> Items.Add(New ListItem("Malawi", "MW"))
> Items.Add(New ListItem("Malaysia", "MY"))
> Items.Add(New ListItem("Maldives", "MV"))
> Items.Add(New ListItem("Mali", "ML"))
> Items.Add(New ListItem("Malta", "MT"))
> Items.Add(New ListItem("Marshall Islands", "MH"))
> Items.Add(New ListItem("Martinique", "MQ"))
> Items.Add(New ListItem("Mauritania", "MR"))
> Items.Add(New ListItem("Mauritius", "MU"))
> Items.Add(New ListItem("Mayotte", "YT"))
> Items.Add(New ListItem("Mexico", "MX"))
> Items.Add(New ListItem("Micronesia", "FM"))
> Items.Add(New ListItem("Moldova", "MD"))
> Items.Add(New ListItem("Monaco", "MC"))
> Items.Add(New ListItem("Mongolia", "MN"))
> Items.Add(New ListItem("Montserrat", "MS"))
> Items.Add(New ListItem("Morocco", "MA"))
> Items.Add(New ListItem("Mozambique", "MZ"))
> Items.Add(New ListItem("Myanmar", "MM"))
> Items.Add(New ListItem("Namibia", "NA"))
> Items.Add(New ListItem("Nauru", "NR"))
> Items.Add(New ListItem("Nepal", "NP"))
> Items.Add(New ListItem("Netherlands", "NL"))
> Items.Add(New ListItem("Netherlands Antilles", "AN"))
> Items.Add(New ListItem("New Caledonia", "NC"))
> Items.Add(New ListItem("New Zealand", "NZ"))
> Items.Add(New ListItem("Nicaragua", "NI"))
> Items.Add(New ListItem("Niger", "NE"))
> Items.Add(New ListItem("Nigeria", "NG"))
> Items.Add(New ListItem("Niue", "NU"))
> Items.Add(New ListItem("Norfolk Island", "NF"))
> Items.Add(New ListItem("North Korea", "KP"))
> Items.Add(New ListItem("Northern Ireland", "XB"))
> Items.Add(New ListItem("Northern Mariana Islands", "MP"))
> Items.Add(New ListItem("Norway", "NO"))
> Items.Add(New ListItem("Oman", "OM"))
> Items.Add(New ListItem("Pakistan", "PK"))
> Items.Add(New ListItem("Palau", "PW"))
> Items.Add(New ListItem("Panama", "PA"))
> Items.Add(New ListItem("Papua New Guinea", "PG"))
> Items.Add(New ListItem("Paraguay", "PY"))
> Items.Add(New ListItem("Peru", "PE"))
> Items.Add(New ListItem("Philippines", "PH"))
> Items.Add(New ListItem("Pitcairn", "PN"))
> Items.Add(New ListItem("Poland", "PL"))
> Items.Add(New ListItem("Portugal", "PT"))
> Items.Add(New ListItem("Puerto Rico", "PR"))
> Items.Add(New ListItem("Qatar", "QA"))
> Items.Add(New ListItem("Reunion", "RE"))
> Items.Add(New ListItem("Romania", "RO"))
> Items.Add(New ListItem("Russia", "RU"))
> Items.Add(New ListItem("Rwanda", "RW"))
> Items.Add(New ListItem("Saint Lucia", "LC"))
> Items.Add(New ListItem("San Marino", "SM"))
> Items.Add(New ListItem("Sao Tome And Principe", "ST"))
> Items.Add(New ListItem("Saudi Arabia", "SA"))
> Items.Add(New ListItem("Scotland", "WY"))
> Items.Add(New ListItem("Senegal", "SN"))
> Items.Add(New ListItem("Seychelles", "SC"))
> Items.Add(New ListItem("Sierra Leone", "SL"))
> Items.Add(New ListItem("Singapore", "SG"))
> Items.Add(New ListItem("Slovak Republic", "SK"))
> Items.Add(New ListItem("Slovenia", "SI"))
> Items.Add(New ListItem("Solomon Islands", "SB"))
> Items.Add(New ListItem("Somalia", "SO"))
> Items.Add(New ListItem("South Africa", "ZA"))
> Items.Add(New ListItem("South Georgia", "GS"))
> Items.Add(New ListItem("Spain", "ES"))
> Items.Add(New ListItem("Sri Lanka", "LK"))
> Items.Add(New ListItem("St. Helena", "SH"))
> Items.Add(New ListItem("St. Kitts & Nevis", "KN"))
> Items.Add(New ListItem("St. Pierre", "PM"))
> Items.Add(New ListItem("St. Vincent & The Grenadines", "VC"))
> Items.Add(New ListItem("Sudan", "SD"))
> Items.Add(New ListItem("Suriname", "SR"))
> Items.Add(New ListItem("Svalbard And Jan Mayen Islands",
> "SJ"))
> Items.Add(New ListItem("Swaziland", "SZ"))
> Items.Add(New ListItem("Sweden", "SE"))
> Items.Add(New ListItem("Switzerland", "CH"))
> Items.Add(New ListItem("Syria", "SY"))
> Items.Add(New ListItem("Taiwan", "TW"))
> Items.Add(New ListItem("Tajikistan", "TJ"))
> Items.Add(New ListItem("Tanzania", "TZ"))
> Items.Add(New ListItem("Thailand", "TH"))
> Items.Add(New ListItem("Togo", "TG"))
> Items.Add(New ListItem("Tokelau", "TK"))
> Items.Add(New ListItem("Tonga", "TO"))
> Items.Add(New ListItem("Trinidad And Tobago", "TT"))
> Items.Add(New ListItem("Tunisia", "TN"))
> Items.Add(New ListItem("Turkey", "TR"))
> Items.Add(New ListItem("Turkmenistan", "TM"))
> Items.Add(New ListItem("Turks And Caicos Islands", "TC"))
> Items.Add(New ListItem("Tuvalu", "TV"))
> Items.Add(New ListItem("U.S. Minor Outlying Islands", "UM"))
> Items.Add(New ListItem("U.S.A.", "US"))
> Items.Add(New ListItem("Uganda", "UG"))
> Items.Add(New ListItem("Ukraine", "UA"))
> Items.Add(New ListItem("United Arab Emirates", "AE"))
> Items.Add(New ListItem("United Kingdom", "GB"))
> Items.Add(New ListItem("Uruguay", "UY"))
> Items.Add(New ListItem("Uzbekistan", "UZ"))
> Items.Add(New ListItem("Vanuatu", "VU"))
> Items.Add(New ListItem("Vatican City State", "VA"))
> Items.Add(New ListItem("Venezuela", "VE"))
> Items.Add(New ListItem("Viet Nam", "VN"))
> Items.Add(New ListItem("Virgin Islands (British)", "VG"))
> Items.Add(New ListItem("Virgin Islands (U.S.)", "VI"))
> Items.Add(New ListItem("Wales", "WX"))
> Items.Add(New ListItem("Wallis And Futuna Islands", "WF"))
> Items.Add(New ListItem("Western Sahara", "EH"))
> Items.Add(New ListItem("Western Samoa", "WS"))
> Items.Add(New ListItem("Yemen", "YE"))
> Items.Add(New ListItem("Yugoslavia", "YU"))
> Items.Add(New ListItem("Zambia", "ZM"))
> Items.Add(New ListItem("Zimbabwe", "ZW"))
> MyBase.OnPreRender(e)
> End Sub
>
> Protected Overrides Function SaveViewState() As Object
>
> End Function
>
> Protected Overrides Sub LoadViewState(ByVal savedState As Object)
>
> End Sub
> End Class[/color]