473,395 Members | 1,554 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,395 software developers and data experts.

How do I store an array of data between pages?

Hope this makes sense!

I'm building an ASP page which allows uses to add items to an invoice
via a form, ie:

Item No Part No Order No Quanity Units Price VAT
------- ------- -------- ------- ----- ----- ---
.... ... ... ... ... ... ...

<Add item> <Submit>

What I want to do is have the user add one item at a time (because we
dont know how many items are going to be added), and slowly build up
an array of records.

To do this the user will be persented with a form (as above) which
they use to add the first item. They then click the <Add item>
button. This will submit the data to an ASP script to be validated.
The data is then added to an array and the user is returned to the
invoice page.

I will then display the line they have already entered beneath the
item entry (shown above). They then add another line and click <Add
item> and the process is repeated until all items have been added.
Finally the user clicks Submit and the data is stored in the database.

To do this I obviously need to store each new line in an array. But
I've just realised that I cant do this unless I store the array itself
in a session variable. Is this acceptable, or is another method
available that would support this?

TIA,

Colin
Jul 19 '05 #1
11 2496
Have you considered using a database? Also, you can always store a local
array in the session, using Session("array") = localArray... just remember
to bring it back local before trying to iterate through it or manipulate it.

--
Aaron Bertrand
SQL Server MVP
http://www.aspfaq.com/


"Colin Steadman" <go****@colinsteadman.com> wrote in message
news:40*************************@posting.google.co m...
Hope this makes sense!

I'm building an ASP page which allows uses to add items to an invoice
via a form, ie:

Item No Part No Order No Quanity Units Price VAT
------- ------- -------- ------- ----- ----- ---
... ... ... ... ... ... ...

<Add item> <Submit>

What I want to do is have the user add one item at a time (because we
dont know how many items are going to be added), and slowly build up
an array of records.

To do this the user will be persented with a form (as above) which
they use to add the first item. They then click the <Add item>
button. This will submit the data to an ASP script to be validated.
The data is then added to an array and the user is returned to the
invoice page.

I will then display the line they have already entered beneath the
item entry (shown above). They then add another line and click <Add
item> and the process is repeated until all items have been added.
Finally the user clicks Submit and the data is stored in the database.

To do this I obviously need to store each new line in an array. But
I've just realised that I cant do this unless I store the array itself
in a session variable. Is this acceptable, or is another method
available that would support this?

TIA,

Colin

Jul 19 '05 #2
Also you could do this client side. Clicking the button would just add a new
"blank" line to the table client side and the user will submit the whole
form when ready ??

Patrice
"Colin Steadman" <go****@colinsteadman.com> a écrit dans le message de
news:40*************************@posting.google.co m...
Hope this makes sense!

I'm building an ASP page which allows uses to add items to an invoice
via a form, ie:

Item No Part No Order No Quanity Units Price VAT
------- ------- -------- ------- ----- ----- ---
... ... ... ... ... ... ...

<Add item> <Submit>

What I want to do is have the user add one item at a time (because we
dont know how many items are going to be added), and slowly build up
an array of records.

To do this the user will be persented with a form (as above) which
they use to add the first item. They then click the <Add item>
button. This will submit the data to an ASP script to be validated.
The data is then added to an array and the user is returned to the
invoice page.

I will then display the line they have already entered beneath the
item entry (shown above). They then add another line and click <Add
item> and the process is repeated until all items have been added.
Finally the user clicks Submit and the data is stored in the database.

To do this I obviously need to store each new line in an array. But
I've just realised that I cant do this unless I store the array itself
in a session variable. Is this acceptable, or is another method
available that would support this?

TIA,

Colin

Jul 19 '05 #3
Use xml Client or server side.

You can add to an xml data island on client side then send xml to client when ready.

'from dlbjr

'Unambit from meager knowledge of inane others,engender uncharted sagacity.
Jul 19 '05 #4
-----Original Message-----
Also you could do this client side. Clicking the button would just add a new"blank" line to the table client side and the user will submit the wholeform when ready ??

Patrice

I didn't know that was possible. Presumably this is a
javascript function?

Incase I cant find any examples of this, do you happen to
have any code that does this that you dont mind sharing?

TIA,

Colin
Jul 19 '05 #5
-----Original Message-----
Have you considered using a database?

No I hadn't. How would you see this working? Is it
possible to setup a Transaction in this senario and submit
it at the end? I'm not sure how you'd keep track of the
transaction while skirting between pages.

Also, you can always store a local
array in the session, using Session("array") = localArray... just rememberto bring it back local before trying to iterate through it or manipulate it.


This was my original intention, but I thought this was a
big no no. Is it acceptable to do this? We wont have
many users, at a guess I'd say 50 with no more then 15
logged on at any one time. If I can do this, I'll do it!

TIA,

Colin
Jul 19 '05 #6
"Colin Steadman" wrote in message
news:40*************************@posting.google.co m...
: Hope this makes sense!
:
: I'm building an ASP page which allows uses to add items to an invoice
: via a form, ie:
:
: Item No Part No Order No Quanity Units Price VAT
: ------- ------- -------- ------- ----- ----- ---
: ... ... ... ... ... ... ...
:
: <Add item> <Submit>
:
: What I want to do is have the user add one item at a time (because we
: dont know how many items are going to be added), and slowly build up
: an array of records.
:
: To do this the user will be persented with a form (as above) which
: they use to add the first item. They then click the <Add item>
: button. This will submit the data to an ASP script to be validated.
: The data is then added to an array and the user is returned to the
: invoice page.
:
: I will then display the line they have already entered beneath the
: item entry (shown above). They then add another line and click <Add
: item> and the process is repeated until all items have been added.
: Finally the user clicks Submit and the data is stored in the database.
:
: To do this I obviously need to store each new line in an array. But
: I've just realised that I cant do this unless I store the array itself
: in a session variable. Is this acceptable, or is another method
: available that would support this?

Where does the user get the information to input from? Are these select
lists or text boxes? And, how many items in each column? This sounds like
a shopping cart.

--
Roland Hall
/* This information is distributed in the hope that it will be useful, but
without any warranty; without even the implied warranty of merchantability
or fitness for a particular purpose. */
Technet Script Center - http://www.microsoft.com/technet/scriptcenter/
WSH 5.6 Documentation - http://msdn.microsoft.com/downloads/list/webdev.asp
MSDN Library - http://msdn.microsoft.com/library/default.asp

Jul 19 '05 #7
Where does the user get the information to input from?
Its basically a page which will allow the user to add line
items from an invoice onto the database. An invoice will
always have a minimum of 1 item, but is more likely to
have many. For this reason I want the user to add one
item at a time. My idea is that the user will add the
data for item 1 and click an ADD ITEM Button. This will
add the item to an array back at the server. The invoice
entry page will then regenerate and add the added item
into a table. Above the table will be the form where they
can continue to add new items. I hope thats clear enough,
I dont think I'm describing this very well.
Are these select lists or text boxes? And, how many
items in each column?

All are text boxes, and there are only a dozen of them.

This sounds like a shopping cart.

How do those work? I've not done any e-Commerce type apps!

TIA,

Colin
Jul 19 '05 #8
See :
http://hologuides.com/JavaScript/TablesIE.htm

Also you could copy a whole row (instead of adding each element in script)
to have a general function.

The simplest way would be just to display let's say 10 rows. The user will
posbatck if he needs more row... Server side you'll just ignore unused
rows...

Patrice

"Colin Steadman" <ms**@N0Tpart0FemailADdRESSScolinsteadman.com> a écrit dans
le message de news:ce****************************@phx.gbl...
-----Original Message-----
Also you could do this client side. Clicking the button

would just add a new
"blank" line to the table client side and the user will

submit the whole
form when ready ??

Patrice

I didn't know that was possible. Presumably this is a
javascript function?

Incase I cant find any examples of this, do you happen to
have any code that does this that you dont mind sharing?

TIA,

Colin

Jul 19 '05 #9
> No I hadn't. How would you see this working? Is it
possible to setup a Transaction in this senario and submit
it at the end? I'm not sure how you'd keep track of the
transaction while skirting between pages.
I envision two tables, much like in an e-commerce app. Cart and
CartDetails. When the user first adds an item to the shopping cart, you
make an entry into the Cart table, then a child row in CartDetails. You
bring back the CartID (e.g. IDENTITY) to the ASP page, and use this in a
session variable. When the user adds another item to the cart, you just
associate the session("CartID") and add another row to the cart details
table.

One of the advantages here is that this outlives session timeouts. You can
also go without cookies, by persisting the CartID in a querystring or form
variable throughout the site.
This was my original intention, but I thought this was a
big no no. Is it acceptable to do this? We wont have
many users, at a guess I'd say 50 with no more then 15
logged on at any one time. If I can do this, I'll do it!


Shouldn't be a problem. Objects and arrays are very different things.

--
Aaron Bertrand
SQL Server MVP
http://www.aspfaq.com/
Jul 19 '05 #10
Colin Steadman wrote:
Hope this makes sense!

I'm building an ASP page which allows uses to add items to an invoice
via a form, ie:

Item No Part No Order No Quanity Units Price VAT
------- ------- -------- ------- ----- ----- ---
... ... ... ... ... ... ...

<Add item> <Submit>

What I want to do is have the user add one item at a time (because we
dont know how many items are going to be added), and slowly build up
an array of records.

To do this the user will be persented with a form (as above) which
they use to add the first item. They then click the <Add item>
button. This will submit the data to an ASP script to be validated.
The data is then added to an array and the user is returned to the
invoice page.

I will then display the line they have already entered beneath the
item entry (shown above). They then add another line and click <Add
item> and the process is repeated until all items have been added.
Finally the user clicks Submit and the data is stored in the database.

To do this I obviously need to store each new line in an array. But
I've just realised that I cant do this unless I store the array itself
in a session variable. Is this acceptable, or is another method
available that would support this?

TIA,

Colin

There's nothing wrong with storing an array in a session variable. But
warn the users not to take coffee breaks between item entries: session
variables are deleted when the session times out, usually 20 minutes
(but you can change it). Also, the users' browsers must be set to accept
cookies for session variables to be accessible.

Other choices: store the data Application variables, in a database or to
a file on the server. All 3 methods will persist data beyond
end-of-session, although Application variables disappear if IIS is
restarted.

You can also store the data on the user's form as hidden or visible
fields, but in using this method remember that there is the possibility
that the user could change already-entered values (by modifying the
hidden fields with a program or manually).

Good Luck,
Michael D. Kersey
Jul 19 '05 #11
"Colin Steadman" wrote in message
news:d1****************************@phx.gbl...
:
: >Where does the user get the information to input from?
:
: Its basically a page which will allow the user to add line
: items from an invoice onto the database. An invoice will
: always have a minimum of 1 item, but is more likely to
: have many. For this reason I want the user to add one
: item at a time. My idea is that the user will add the
: data for item 1 and click an ADD ITEM Button. This will
: add the item to an array back at the server. The invoice
: entry page will then regenerate and add the added item
: into a table. Above the table will be the form where they
: can continue to add new items. I hope thats clear enough,
: I dont think I'm describing this very well.
:
: > Are these select lists or text boxes? And, how many
: > items in each column?
:
: All are text boxes, and there are only a dozen of them.
:
: >This sounds like a shopping cart.
:
: How do those work? I've not done any e-Commerce type apps!

Ok, a few of more questions...

Is the user entering data from a hard copy invoice?
What is the average number of items on a given invoice?
How many users will enter data simultaneously?
Will these items ever be duplicated? ...meaning will they enter widget #1
more than once, ever?
What will you do with the data once it is entered?

A shopping cart allows you to select products you would like to purchase, as
you would use a basket in a grocery store and then purchase them either CC
online, CC phone or mail-in check/money order.

--
Roland Hall
/* This information is distributed in the hope that it will be useful, but
without any warranty; without even the implied warranty of merchantability
or fitness for a particular purpose. */
Technet Script Center - http://www.microsoft.com/technet/scriptcenter/
WSH 5.6 Documentation - http://msdn.microsoft.com/downloads/list/webdev.asp
MSDN Library - http://msdn.microsoft.com/library/default.asp
Jul 19 '05 #12

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: forums_mp | last post by:
I've got an STL class (see below) with two functions to store and retrieve data - msg structs. The "Store" function when called will copy the received message (depending on which message) into...
3
by: Karen Grube | last post by:
Hi! Each week, we receive a two-page PDF file from UPS along with a separate flat file (a CSV) The PDF file contains the overview of our weekly invoice and the CSV contains the details of each...
1
by: talktoitu | last post by:
Hi friend, Sorry for my wrong English. Plz understand the problem. Ok, I am currently using Goahead server for my project. In that They have supported ROM support(means store precompile webpages...
21
by: matvdl | last post by:
I have a system that was originally developed in asp - the pages are saved in SQL (there are over 10,000 pages) and saved to a temp directory in the server when requested by a client. I have...
2
by: Alan Silver | last post by:
Hello, I am designing a form that allows people to request the formation of a limited company. When they fill in the form, they have to supply a certain amount of information relevant to their...
1
by: assgar | last post by:
Hi I was using a schroll bar to display multiple rows of dynamically created from database records. The scrolling was not displaying the data properly so I have decided to use pagination. The...
4
by: alnoir | last post by:
I'm writing a script that take web pages and stores the content into an array. Before, I was looping through a text file and stored each line into an array. With a file I could read it by line and...
3
by: almo | last post by:
hi guys, I have question about writing a function that will store some data from a file in an array, then when that function is call in main, I can use that array in the main() for calculation. Here...
13
by: tekinalp67 | last post by:
hi, i am trying to implement a B+ tree. There is no specification in the implementation so i am using arrays to implement the B+ tree. However, there is a problem that i encountered which is I...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.