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

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.

Business Systems Analyst - Clearing - SQL Server - ASP - VB (IL)
Next Step Systems
US-IL-Chicago

Justtechjobs.com Post A Job | Post A Resume

Published: Tuesday, October 19, 1999

Passing Arrays from One ASP Page to Another


Session variables are evil. Quite evil. We should strive to create our ASP pages without the use of session variables. However, session variables make it easy to pass information from one ASP page to another. It is recommended, however, that you use the querystring or forms to pass information from one ASP page to another, when possible. (There is an article on Four Ways of Passing Information From One ASP Page to Another.)

- continued -

When passing strings or numbers, using a form or the querystring is a viable option. Many developers, though, think that they need to use session variables to pass arrays from one ASP page to another. This is far from the truth! To pass arrays, though, we have to use a bit of clever coding.

Before we begin, let's set up the situation. We have two ASP pages, CreateArray.asp and ReceiveArray.asp. In CreateArray.asp we will create an array of some size, enter some values, and allow this information to be passed to ReceiveArray.asp through both the querystring and through the use of a form. In ReceiveArray.asp, we will read in the array being passed in and display it.

Let's start by creating the array in CreateArray.asp

   'Create an array that contains
   'the days of the week
   Dim aWeekDays(6)
   aWeekDays(0) = "Sunday"
   aWeekDays(1) = "Monday"
   aWeekDays(2) = "Tuesday"
   aWeekDays(3) = "Wednesday"
   aWeekDays(4) = "Thursday"
   aWeekDays(5) = "Friday"
   aWeekDays(6) = "Saturday"

Now, to store the array contents in the querystring, we will loop from LBound(aWeekDays) to UBound(aWeekDays). For each element, we'll add an item to the querystring, having the array name, an equals sign, and then the value of the particular array element.

   'Build the querystring
   Dim iLoop, strQueryString
   For iLoop = LBound(aWeekDays) to UBound(aWeekDays)
      strQueryString = strQueryString & "WeekDays=" & aWeekDays(iLoop)
      strQueryString = strQueryString & "&"
   Next

   'Cut off the last character
   strQueryString = Left(strQueryString, Len(strQueryString) - 1)

   'Now, create the actual hyperlink
%>

   <A HREF="ReceiveArray.asp?<%=strQueryString%>">
        ReceiveArray.asp
   </A>

We can also pass the contents of an array through a form, using the HIDDEN INPUT tag. When using a form, we want to create N HIDDEN INPUT tags, given N elements in our array. Each INPUT tag will have the same NAME but different VALUEs.

   <FORM METHOD=POST ACTION="ReceiveArray.asp">
<%
   For iLoop = LBound(aWeekDays) to UBound(aWeekDays) %>
      <INPUT TYPE=HIDDEN NAME=WeekDays VALUE="<%=aWeekDays(iLoop)%>">
<%   Next %>
     <P>
     <INPUT TYPE=SUBMIT>
   </FORM>

When the above form is submitted, the array information will be passed to ReceiveArray.asp via the POST METHOD. A screenshot of CreateArray.asp can be seen at the end of this article.

Now that we've looked at how to encode the array to pass it to ReceiveArray.asp, let's examine how we will decode the array. Part 2 will delve into that topic!

  • Read Part 2

    CreateArray.asp
    Screenshot of CreateArray.asp


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


  • The Network for Technology Professionals

    Search:

    About Internet.com

    Legal Notices, Licensing, Permissions, Privacy Policy.
    Advertise | Newsletters | E-mail Offers