When you think ASP, think...
Recent Articles
All Articles
ASP.NET Articles [1.x] [2.0]
ASPFAQs.com
Message Board
Related Web Technologies
User Tips!
Coding Tips
Search

Sections:
Book Reviews
Sample Chapters
Commonly Asked Message Board Questions
Headlines from ASPWire.com
JavaScript Tutorials
MSDN Communities Hub
Official Docs
Security
Stump the SQL Guru!
Web Hosts
XML Info
Information:
Advertise
Feedback
Author an Article
Technology Jobs

















internet.com
IT
Developer
Internet News
Small Business
Personal Technology
International

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers
ASP ASP.NET ASP FAQs Message Board Feedback ASP Jobs
Print this page.

Windows Systems Administrator
Jupitermedia
US-CT-Darien

Justtechjobs.com Post A Job | Post A Resume

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") & _
         "</option>"
	dropdownlist.movenext
Loop

'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:

junk=application("droplist1")

if len(rstData("field1"))<1 then
	junk=replace(junk,"</select>", _
	      "<option selected value="""">Unknown</option></select>")
else
	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...


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



JupiterOnlineMedia

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

Solutions
Whitepapers and eBooks
Microsoft Article: HyperV-The Killer Feature in WinServer ‘08
Avaya Article: How to Feed Data into the Avaya Event Processor
Microsoft Article: Install What You Need with Win Server ‘08
HP eBook: Putting the Green into IT
Whitepaper: HP Integrated Citrix XenServer for HP ProLiant Servers
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 1
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 2--The Future of Concurrency
Avaya Article: Setting Up a SIP A/S Development Environment
IBM Article: How Cool Is Your Data Center?
Microsoft Article: Managing Virtual Machines with Microsoft System Center
HP eBook: Storage Networking , Part 1
Microsoft Article: Solving Data Center Complexity with Microsoft System Center Configuration Manager 2007
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
Webcasts
Intel Video: Are Multi-core Processors Here to Stay?
On-Demand Webcast: Five Virtualization Trends to Watch
HP Video: Page Cost Calculator
Intel Video: APIs for Parallel Programming
HP Webcast: Storage Is Changing Fast - Be Ready or Be Left Behind
Microsoft Silverlight Video: Creating Fading Controls with Expression Design and Expression Blend 2
MORE WEBCASTS, PODCASTS, AND VIDEOS
Downloads and eKits
Sun Download: Solaris 8 Migration Assistant
Sybase Download: SQL Anywhere Developer Edition
Red Gate Download: SQL Backup Pro and free DBA Best Practices eBook
Red Gate Download: SQL Compare Pro 6
Iron Speed Designer Application Generator
MORE DOWNLOADS, EKITS, AND FREE TRIALS
Tutorials and Demos
How-to-Article: Preparing for Hyper-Threading Technology and Dual Core Technology
eTouch PDF: Conquering the Tyranny of E-Mail and Word Processors
IBM Article: Collaborating in the High-Performance Workplace
HP Demo: StorageWorks EVA4400
Intel Featured Algorhythm: Intel Threading Building Blocks--The Pipeline Class
Microsoft How-to Article: Get Going with Silverlight and Windows Live
MORE TUTORIALS, DEMOS AND STEP-BY-STEP GUIDES