Step 15 - Enhancing Web Form Navigation
In this step you will change the Customer Orders form so it automatically displays all orders for the current customer when navigating back to the page from the Order Edit form.
- If your Web application is currently running, shut it down.
- In the Solution Explorer, right-click CustomerOrders.aspx and select View Code from the shortcut menu.
- In the code-behind file, add the first line of code shown below to the btnGetOrders_Click method:
Private Sub btnGetOrders_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGetOrders.Click ' Save the customer ID Session("CustomerID") = Me.txtCustomerID.Text Me.GetCustomerOrders(Me.txtCustomerID.Text) End Sub
This code saves the current customer ID in a session variable.
- Next, add the following if statement to the bottom of the Page_Load method:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' Instantiate the Orders object and register it with the form Me.Order = CType(Me.RegisterBizObj(New Order), Order) ' If a Customer ID is currently stored in a session variable ' and the form is not being posted back, use the ID to ' retrieve orders for the specified customer If Not IsPostBack Then Dim CustomerID As String = CStr(Session("CustomerID")) If Not (CustomerID Is Nothing) Then Me.txtCustomerID.Text = CustomerID Me.GetCustomerOrders(CustomerID) End If End If End Sub
This code checks the value of IsPostBack. If it's false, it means the user is navigating to the form. When IsPostBack is true, it indicates the form is being posted back to the server (which happens when the user clicks the Get Orders button).
If the form is not being posted back, this code checks if there is a customer ID stored in the CustomerID session variable. This is the session variable that gets set when the user clicks the Get Orders button. If the session variable exists, the customer ID is stored back in the Customer ID text box and is then used to retrieve all orders for the customer.
- Now you're ready to test the code. To run the Web application, click the Start button on the Visual Studio toolbar. This displays a Customer Order form with no orders retrieved yet:

Behind the scenes, IsPostBack is false so our new code in the Page_Load method is executed. However, CustomerID is null, so the form doesn't retrieve orders.
- Enter ROMEY in the Customer ID text box, and then click the Get Orders button. The Web Form displays all orders for customer ROMEY:

Behind the scenes, IsPostback is true, so the new code does not fire. The code in the btnGetOrders_Click method fires, saving ROMEY to the CustomerID session variable.
- Select order 10281 which navigates to the Order Edit form.
- In the Order Edit form, click the Cancel button. This navigates back to the Customer Orders form which should look like this:

Behind the scenes, the Customer Orders form reinstantiates on the server, but this time IsPostBack is true, firing our new code in the Form_Load method. The ROMEY customer ID is retrieved from the CustomerID session variable and the orders are retrieved.
© (c) 2026 Oak Leaf Enterprises, Inc., 1996-2026 • Updated: 04/25/18
Comment or report problem with topic
