When you think ASP, think...
Recent Articles xml
All Articles
ASP.NET Articles
Related Web Technologies
User Tips!
Coding Tips
spgif spgif

Sample Chapters
JavaScript Tutorials
MSDN Communities Hub
Official Docs
Stump the SQL Guru!
XML Info
Author an Article
spgif spgif
ASP ASP.NET ASP FAQs Feedback topnav-right
Print this page.
User Tips: Populating a Dropdown from an Application Variable

By Pete D.

There's a lot out there about creating list boxes using a table from a database. But what if the list box rarely changes and you're constantly hitting the database server for a list box that isn't going to change? You could put your dropdown in an include file, but then you couldn't change it to reflect a default selection based on a current value in the database, a user preference, etc.

Instead, put the select list in an application variable. Since application variables are only stored once per application, they don't use more resources as more users use the site. They also don't require a trip to the database everytime the select list is used. And, using the Replace function, you can change the selected value based on a user preference, a current value in a database, etc. I have an intranet database with 17 dropdowns in it. Whenever a user logs on, the dropdowns are all recreated; this keeps them updated even though they probably change once a month. (There's only about 10 people who use the application regularly, so it isn't constantly doing this, and it only takes about .3 seconds anyway.)

First, create the dropdown. I created them all in an include file and then include it in my log in page.

'**Create connetion to the database**
SQLSTR="Select listitem from table_of_possible_items"
Set dropdownlist = connect.execute(SQLSTR)

'This starts the select list
Application("droplist1") = "<select name=""SelectListName"" size=""1"">"

'This loop creates all the options
do until dropdownlist.eof 
    Application("droplist1") = Application("droplist1") & _
         "<option Value="""& dropdownlist("listitem")& """>" & _
            dropdownlist("listitem") & _

'This closes the select list
Application("droplist1") = Application("droplist1") & "</select>"

Now just do a response.write application("droplist1") wherever you want the select list in your page! Pretty simple and efficient to boot!

Now, how do you change the default selected item in the list? (Maybe you are editing a database record and want the current value to display as the default value in the form.) Just use the replace function to replace the option with option selected on the appropriate item when you write the list. Use an If statement to include an option that is null if the database field is null. For example:


if len(rstData("field1"))<1 then
	junk=replace(junk,"</select>", _
	      "<option selected value="""">Unknown</option></select>")
	junk=replace(junk,"<option Value=""" & _
                      rstData("field1") & """>",_
                 "<option selected Value=""" & _
                      rstData("field1") & """>")
end if

response.write junk

For more information on this topic be sure to read the following articles!

Happy Programming!

Return to user tips...

ASP.NET [1.x] [2.0] | ASPFAQs.com | Advertise | Feedback | Author an Article