• congo.aspx和congo.cs和ViewCart.aspx


    ShoppingCart 是Congo.cs中定义的一种自定义数据类型。它还伴随着BookOrder,也是在Congo.cs中定义。
    ShoppingCart主要是对HashTable的包装。
    它实现了一个名为_Orders的私有字段,该字段持有一个HashTable引用,ShoppingCart 还实现了一些公有方法这些方法使BookOrder对象能够被添加到HashTable中并被删除,
    ShoppingCart还实现了一个名为Orders的公共属性,该属性在HashTable的ICollection接口中可用:
    aspx:


    congo.aspx.cs:
    using System;
    using System.Data;
    using System.Data.SqlClient;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

    public partial class congo : System.Web.UI.Page
    {
        
    protected void Page_Load(object sender, EventArgs e)
        
    {

            
    if (!IsPostBack)
            
    {
               
                
    string ConnectString = ConfigurationSettings.AppSettings["connectString"];
                SqlDataAdapter adapter 
    = new SqlDataAdapter("select * from titles where price!=0", ConnectString);
                DataSet ds 
    = new DataSet();
                adapter.Fill(ds);
                MyDataGrid.DataSource 
    = ds;
                MyDataGrid.DataBind();
            }

        }


        
    //用户调用该页面并单击“AddToCart”按钮时调用该方法
        /// <summary>
        
    /// 该方法从DataGrid中检索产品ID及相应书籍的价格,并将
        
    /// 它们封装到一个BookOrder对象中
        
    /// </summary>
        
    /// <param name="sender"></param>
        
    /// <param name="e"></param>

        protected void OnItemCommand(Object sender,  DataGridCommandEventArgs e)
        
    {
            
    if (e.CommandName == "AddToCart")
            
    {
                
    //有两种方法可以得到这里的BookOrder、ShoppingCart
                
    //1.把congo.cs放在App_Code文件夹内。
                
    //2.把congo.cs编译成dll文件放在Bin文件夹内
                
    //倾向于前者,便于查看Congo.cs的内容
                BookOrder order =
                    
    new BookOrder(e.Item.Cells[0].Text,e.Item.Cells[1].Text,Convert.ToDecimal(e.Item.Cells[2].Text.Substring(1)),1);

                
    //global.asax中有Session_Start,这里的SessionID????
                ShoppingCart cart = (ShoppingCart)Session["MyShoppingCart"];
                
    if (cart != null)
                
    {
                    cart.AddOrder(order);
                }

                Response.Write(
    "<script>alert('success to add "+e.Item.Cells[1].Text+"')</script>");
            }

        }


        
    protected void OnViewCart(Object sender, EventArgs e)
        
    {
            Response.Redirect(
    "ViewCart.aspx");
        }

    }


    global.asax:
    <%@ Application Language="C#" %>

    <script runat="server">

        
    void Application_Start(object sender, EventArgs e) 
        
    {
            
    // Code that runs on application startup

        }

        
        
    void Application_End(object sender, EventArgs e) 
        
    {
            
    //  Code that runs on application shutdown

        }

            
        
    void Application_Error(object sender, EventArgs e) 
        

            
    // Code that runs when an unhandled error occurs

        }


        
    void Session_Start(object sender, EventArgs e) 
        
    {
           
    //为请求页面的用户创建一个会话
            Session["MyShoppingCart"= new ShoppingCart();
            
    // Code that runs when a new session is started

        }


        
    void Session_End(object sender, EventArgs e) 
        
    {
            
    // Code that runs when a session ends. 
            
    // Note: The Session_End event is raised only when the sessionstate mode
            
    // is set to InProc in the Web.config file. If session mode is set to StateServer 
            
    // or SQLServer, the event is not raised.

        }

           
    </script>
    congo.cs(独立代码,在App_Code)中

    ViewCart.aspx和aspx.cs:
     1<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ViewCart.aspx.cs" Inherits="ViewCart" %>
     2
     3
     4<html xmlns="http://www.w3.org/1999/xhtml" >
     5<head runat="server">
     6    <title>Untitled Page</title>
     7</head>
     8<body>
     9    <form id="form1" runat="server">
    10    <div>
    11    <table width="100%" bgcolor="teal">
    12    <tr>
    13    <td>
    14    <asp:Button ID="lblReturnShop" Text="Return to Shopping" OnClick="OnShop" runat="server" />
    15    
    16    </td>
    17    </tr>
    18    </table>
    19    </div>
    20    
    21    <br />
    22    <center>
    23    <asp:DataGrid ID="MyDataGrid" AutoGenerateColumns="false" CellPadding="2"
    24      BorderWidth="1" BorderColor="lightgray" Font-Names="Verdana"
    25      Font-Size="8pt" GridLines="vertical" Width="90%" OnItemCommand="OnItemCommand" runat="server">
    26      <Columns>
    27      <asp:BoundColumn HeaderText="Item ID" DataField="ItemID">
    28      </asp:BoundColumn>
    29      
    30      <asp:BoundColumn HeaderText="Title" DataField="Title">
    31      </asp:BoundColumn>
    32      <asp:BoundColumn HeaderText="Price" DataField="Price" DataFormatString="{0:C}"
    33       HeaderStyle-HorizontalAlign="center" ItemStyle-HorizontalAlign="right">
    34       </asp:BoundColumn>
    35       
    36       <asp:BoundColumn HeaderText="Quantity" DataField="Quantity" 
    37        HeaderStyle-HorizontalAlign="center" ItemStyle-HorizontalAlign="center">
    38       </asp:BoundColumn>
    39       <asp:ButtonColumn HeaderText="Action" Text="Remove"
    40        HeaderStyle-HorizontalAlign="center" ItemStyle-HorizontalAlign="center" CommandName="RemoveFromCart">
    41        </asp:ButtonColumn>
    42      </Columns>
    43      
    44      <HeaderStyle BackColor="teal" ForeColor="white" Font-Bold="true" />
    45      <ItemStyle BackColor="white" ForeColor="darkblue" />
    46      <AlternatingItemStyle BackColor="beige" ForeColor="darkBlue" />
    47      </asp:DataGrid>
    48    </center>
    49    <h3><asp:Label ID="Total" runat="server"></asp:Label></h3>
    50    </form>
    51</body>
    52</html>
    53
    ViewCart.aspx.cs:
    viewCart.cs

  • 相关阅读:
    牛客练习赛71 F-红蓝图 (kruskal重构树 + 线段树合并)
    2020杭电多校第一场 Finding a MEX
    Codeforces 235C Cyclical Quest (后缀自动机)
    HDu6583 Typewriter (后缀自动机 + dp)
    2020牛客暑期多校训练营(第八场)A All-Star Game
    HDu4416 Good Article Good sentence (后缀自动机)
    icpc小米 A . Intelligent Warehouse
    计数类dp
    主席树
    博弈论
  • 原文地址:https://www.cnblogs.com/simhare/p/822899.html
Copyright © 2020-2023  润新知