⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 checkout.aspx

📁 This is a book about vb.you could learn this from this book
💻 ASPX
字号:
<%@ Page Language="VB" Inherits="IBuyAdventure.PageBase" src="../components/stdpage.vb" clienttarget=downlevel %>
<%@ Register TagPrefix="IBA" TagName="Header" Src="..\UserControl\Header.ascx" %>
<%@ Register TagPrefix="IBA" TagName="Categories" Src="..\UserControl\Categories.ascx" %>
<%@ Register TagPrefix="IBA" TagName="Footer" Src="..\UserControl\Footer.ascx" %>

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Globalization" %>

<html>
  <head>
    <title>IBuyAdventure Catalog</title>
  </head>

  <script language="VB" runat="server">

		' Total for shopping basket
		Dim fTotal As Double = 0

		Public Sub Page_Load(sender As Object, e As EventArgs)
		
			Dim cart As New IBuyAdventure.CartDB(getConnStr())
			
			' If a new product to add is specified, add it to the shopping cart
			If Request.Params("ProductCode") <> "" Then
				cart.AddShoppingCartItem(GetCustomerID(), Request.Params("ProductCode"))
			End If
			
			' If page is not being loaded in response to postback
			If Page.IsPostBack = False Then
				PopulateShoppingCartList()
			End If
			
			status.Text = "Please confirm you want to order the following items:"
		End Sub
		

		Sub Confirm_Order(sender As Object, e As EventArgs)
		
			Dim cart As New IBuyAdventure.CartDB(getConnStr())
			Dim totalOrderValue As Double = cart.GetOrderValueForCart(GetCustomerID())
			Dim orders As New IBuyAdventure.OrdersDB(getConnStr())
			
			orders.AddNewOrder(GetCustomerID(), DateTime.Now.ToString("G", DateTimeFormatInfo.InvariantInfo), totalOrderValue )
			
			cart.ResetShoppingCart(GetCustomerID())
			
			Response.Redirect("confirmed.aspx")
		
		End Sub


		Sub Cancel_Order(sender As Object, e As EventArgs)
		
			Dim inventory As New IBuyAdventure.ProductsDB(getConnStr())
			Dim cart As New IBuyAdventure.CartDB(getConnStr())
			
			cart.ResetShoppingCart(GetCustomerID())
			
			Response.Redirect("/IBuyAdventure/default.aspx")
		
		End Sub
		

		Function GetCustomerID() As String
		
			If User.Identity.Name <> "" Then
				Return Context.User.Identity.Name
			Else
				If Session("AnonUID") Is Nothing
					Session("AnonUID") = Guid.NewGuid()
				End If
				Return Session("AnonUID").ToString()
			End If
		
		End Function


		Sub UpdateShoppingCartDatabase()
		
			Dim inventory As New IBuyAdventure.ProductsDB(getConnStr())
			Dim cart As New IBuyAdventure.CartDB(getConnStr())
			
			' Iterate through all rows within shopping cart list
			Dim i As Integer
			For i=0 To MyList.Items.Count
			
				' Obtain references to row's controls
				Dim quantityTxt As TextBox = MyList.Items(i).FindControl("Quantity")
				Dim remove As CheckBox = MyList.Items(i).FindControl("Remove")
				Dim shoppingCartIDTxt As HtmlInputHidden = MyList.Items(i).FindControl("ShoppingCartID")
				
				' If removed checkbox selected, delete the item.  Otherwise, update its
				' quantity (todo: should only update if value was been changed)
				' Convert quantity to a number
				Dim Quantity As Integer = Int32.Parse(quantityTxt.Text)
				If remove.Checked = True Or Quantity = 0 Then
					cart.DeleteShoppingCartItem(Int32.Parse(shoppingCartIDTxt.Value))
				Else
					cart.UpdateShoppingCartItem(Int32.Parse(shoppingCartIDTxt.Value), Quantity )
				End If
			Next
		
		End Sub
		

		Sub PopulateShoppingCartList()
		
			' Populate list with updated shopping cart data
			Dim inventory As New IBuyAdventure.ProductsDB(getConnStr())
			Dim cart As New IBuyAdventure.CartDB(getConnStr())
			Dim ds As DataSet = cart.GetShoppingCartItems(GetCustomerID())
			
			MyList.DataSource = ds
			MyList.DataBind()
			
			Dim dt As DataTable
			dt = ds.Tables(0)
			Dim lIndex, Quantity As Integer
			Dim UnitPrice As Double
			
			For lIndex = 0 To dt.Rows.Count - 1
			
				UnitPrice = dt.Rows(lIndex)("UnitPrice")
				Quantity = dt.Rows(lIndex)("Quantity")
				If Quantity > 0 Then
					fTotal += UnitPrice * Quantity
				End If
			Next
		
		End Sub
		
  </script>

  <body background="/IBuyAdventure/images/back_sub.gif">
    <form runat="server">
      <font face="Verdana, Arial, Helvetica" size="2">
        <table border="0" valign="top" width="100%">
          <tr>
            <td colspan="5">
              <IBA:Header id="Header" runat="server"/>
            </td>
          </tr>
          <!--Begin Navigational Buttons-->
          <tr valign="top">
            <td width="95" align="left" valign="top">
              <IBA:Categories id="Categories" runat="server"/>
            </td>
            <td>
              &nbsp;&nbsp;
            </td>
            <td valign="top" align="left">
              <h2>Check Out</h2>
              <font size="2"><asp:label id="status" runat="server" /></font><br><br>
              <table colspan="8" cellpadding="5" border="0" valign="top">
                <!-- BEGIN column header row -->
                <tr valign="top">
                  <td align="center" bgcolor="#800000">
                    <font style="Verdana, Arial, Helvetica" color="#ffffff" size="2">Product Code</font>
                  </td>
                  <td align="center" bgcolor="#800000">
                    <font style="Verdana, Arial, Helvetica" color="#ffffff" size="2">Product Name</font>
                  </td>
                  <td align="center" width=250 bgcolor="#800000">
                    <font style="Verdana, Arial, Helvetica" color="#ffffff" size="2">Description</font>
                  </td>
                  <td align="center" bgcolor="#800000">
                    <font style="Verdana, Arial, Helvetica" color="#ffffff" size="2">Quantity</font>
                  </td>
                  <td align="center" bgcolor="#800000">
                    <font style="Verdana, Arial, Helvetica" color="#ffffff" size="2">Unit Price</font>
                  </td>
                  <td align="center" bgcolor="#800000">
                    <font style="Verdana, Arial, Helvetica" color="#ffffff" size="2">Unit Total</font>
                  </td>
                </tr>
                <asp:repeater id="MyList"  runat="server">
                  <itemtemplate>
                    <tr>
                      <td align="center" bgcolor="#f7efde">
                        <input id="ShoppingCartID" type=hidden value='<%#DataBinder.Eval(Container.DataItem, "ShoppingCartID").ToString()%>' runat="server">
                        <font style="Verdana, Arial, Helvetica" color="black" size="2">
                          <%#DataBinder.Eval(Container.DataItem, "ProductCode")%>
                        </font>
                      </td>
                      <td align="center" bgcolor="#f7efde">
                        <font style="Verdana, Arial, Helvetica" color="black" size="2">
                          <%#DataBinder.Eval(Container.DataItem, "ProductName")%>
                        </font>
                      </td>
                      <td align=left width=250 bgcolor="#f7efde">
                        <font style="Verdana, Arial, Helvetica" color="black" size="2">
                          <%#DataBinder.Eval(Container.DataItem, "Description")%>
                        </font>
                      </td>
                      <td align="center" bgcolor="#f7efde">
                        <font style="Verdana, Arial, Helvetica" color="black" size="2">
                          <asp:label text=<%#DataBinder.Eval(Container.DataItem, "Quantity").ToString()%> width=30 runat="server"/>
                        </font>
                      </td>
                      <td align="center" bgcolor="#f7efde">
                        <font style="Verdana, Arial, Helvetica" color="black" size="2">
                          <asp:label id="UnitPrice" runat="server"><%#DataBinder.Eval(Container.DataItem, "UnitPrice", "{0:C}")%></asp:label>
                        </font>
                      </td>
                      <td align="center" bgcolor="#f7efde">
                        <font style="Verdana, Arial, Helvetica" color="black" size="2">
                          <%# String.Format("{0:C}", (DataBinder.Eval(Container.DataItem, "Quantity") * DataBinder.Eval(Container.DataItem, "UnitPrice"))) %>
                        </font>
                      </td>
                    </tr>
                  </itemtemplate>
                </asp:repeater>
                <tr>
                  <td colspan="4"><td colspan="2" align="right">
                    <font style="Verdana, Arial, Helvetica" color="black" size="2">
                      Total is <%=String.Format( "{0:C}", fTotal) %>
                    </font>
                  </td>
                </tr>
                <tr>
                  <td colspan="8" align="right">
                    <asp:button text="Cancel Order (Clears Basket)" OnClick="Cancel_Order" runat="server"/>
                    <asp:button text="Confirm Order" OnClick="Confirm_Order" runat="server"/>
                  </td>
                </tr>
              </table>
             <br>
            <IBA:Footer runat="server" />
            </td>
          </tr>
        </table>
      </font>
    </form>
  </body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -