I am working on a seat selection page for an ASP.NET school project on movie booking system. I have created the seats using buttons (A1, A2, A3) etc.

When the user click on the button, the button colour changes and the user finalized the payment. I have an issue here. How do i save the button that has been clicked as an information into SQL Database. For instance, when the user selects Button A1 and A2, i want the information that the users have selected these 2 seats, A1 and A2 into the sql database.

URGENT!! :sad:

first of all what may be URGENT to you (ie your homework) is not urgent to us. Everyone feels their problem is #1 priority so please dont post as URGENT. My business and income is far more urgent than your homework. But we are here to help so here goes :)

First of all have one click handler for all the seat buttons. Secondly for each button append the seat number (A1, A2 etc) to the command argument property. On the button click handler grab the argument property and store it in a session object. Then when the whole transaction is complete save the information in the session object. I would recommend either an array or table as the session object.
I assume that:
1. You know about the commandargument property
2. You know about sessions
3. You know how to handle the same eventtype (e.g. buttonclick) from multiple instances in one handler
4. You know how to save information in a database

If you dont know any of those then shout and i will help

One line in my last post maybe misleading:

Then when the whole transaction is complete save the information in the session object

Should have said

Then when the whole transaction is complete save the information from the session object

You have made too much assumptions. I think it will be better if u explain with some codes. Thanks

One line in my last post maybe misleading:

Should have said

i will give some pointers... i am not doing homework for you.
each button needs to be setup as follows:

<asp:Button ID="Button1" runat="server" OnClick="SeatButton_Click" Text="A1" CommandArgument="A1" />
<asp:Button ID="Button2" runat="server" OnClick="SeatButton_Click" Text="A2" CommandArgument="A2" />
etc etc

Then you need the one event handler which will handle all your seat buttons

protected void SeatButton_Click(object sender, EventArgs e)
{
Button theButton = (Button)sender; //now you have the button that was pressed
string theSeat = theButton.CommandArgument; // now you have the seat number

//either store it in the session and the database on some other buttons click (such as a "Book Now" button) or straight to the database on each click.. that depends on your requirements
}

Thanks, i understood the command argument part. However, i am still having problem understanding the second hald as below.

Then you need the one event handler which will handle all your seat buttons

protected void SeatButton_Click(object sender, EventArgs e)
{
Button theButton = (Button)sender; //now you have the button that was pressed
string theSeat = theButton.CommandArgument; // now you have the seat number

//either store it in the session and the database on some other buttons click (such as a "Book Now" button) or straight to the database on each click.. that depends on your requirements
}

Edited 3 Years Ago by diafol: fixed formatting

I notice that this half seems to be explained in C#, however i am writing my codes in VB.NET. Would appreciate if you help me with this.. ;)

Then you need the one event handler which will handle all your seat buttons

protected void SeatButton_Click(object sender, EventArgs e)
{
Button theButton = (Button)sender; //now you have the button that was pressed
string theSeat = theButton.CommandArgument; // now you have the seat number

//either store it in the session and the database on some other buttons click (such as a "Book Now" button) or straight to the database on each click.. that depends on your requirements
}

Edited 3 Years Ago by diafol: fixed formatting

the command name property could be used in your case but it is a bad habit to get into. The command name property is used when the button is used inside something like a datalist. You can have many buttons in various templates and they will want to do various things (such as Edit, cancel, update etc). The parent control (eg the datalist) handles these controls not the page so you have to tell the parent what type of command it is (hence commandname = "edit" or commandname = "update") and you have an event handler for the parent control in your code. As there are multiple versions of this button in a datalist control you might need to pass extra info to the event handler - this is where the commandargument comes in. The concept is the same as calling a method and passing in parameters.
So stick to the rule that command name = method name and command argument = parameters. So you can pass parameters even though you dont need a method name in this case as the handler is already named in the onclick property.

As for the code my vb is very rusty but i will try

protected sub SeatButton_Click(object sender, EventArgs e) handles Seatbutton_click

Dim theButton as Button  = Ctype(sender, Button) ' now you have the button that was pressed
Dim theSeat as string  = theButton.CommandArgument; ' now you have the seat number

' either store it in the session and the database on some other buttons click (such as a "Book Now" button) or straight to the database on each click.. that depends on your requirements
End Sub

Sorry to bother you again. How can i store all the information (all the button clicks) as a session into the database

im not doing your homework for you as i said... and you dont seem to want to help yourself.
To store information in the session you create a key for it and assign your information you want to store in there to it.

Session("theseats") = the_collection_you_store_your_seats_in

you have to get your collection out of the session to add your seats to it and then store it back in the session so you need

if (session("theseats") != null) then
the_collection_you_store_your_seats_in = Ctype(session("theseats"), thecollectiontype)
end if

then when you want to store in the database just store the collection

This article has been dead for over six months. Start a new discussion instead.