• 结合MVC.NET相关知识实现在线卖酒销售项目(四)


    结合项目三内容 本章内容实现”购物车(增删改)“功能

    一、在”BrasServer“文件添加”Web窗体“名为”BarShow.aspx“,并编辑前台代码,拖进“Repeater”控件编辑

    代码示例:

    <%@ Page Title="" Language="C#" MasterPageFile="~/BarsInfo/Bar.master" AutoEventWireup="true" CodeFile="BarShow.aspx.cs" Inherits="BrasServer_BarShow" %>
    
    <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
        <link href="../css/main.css" rel="stylesheet" />
        <style type="text/css">
         .Global 
         {
             background:#E3DFD1;
         }
            .auto-style1 {
                height: 26px;
                text-align:center;
            }
            .Total span {
                font-weight:bold;
               
            }
     </style>
        <fieldset class="Global">
        <legend style="font-weight:bold;text-align:center;">我的购物车</legend>                      
                <%--<asp:Repeater ID="repShow" runat="server" OnItemCommand="repShow_ItemCommand">
                    <HeaderTemplate> 
                       <div class="carttop">                 
                           <ul class="heng">
                               <li>图片</li>
                               <li>名字</li>
                               <li>价格</li>
                               <li>数量</li>
                               <li>删除</li>
                           </ul>   
                       </div>                                              
                    </HeaderTemplate>
                    
                    <ItemTemplate>  
                        <div class="product2">                              
                          <ul class="heng2">
                               <li> 
                                    <asp:Image ID="Image1" runat="server" Width="65px" Height="75px" BorderWidth="1" 
                                ImageUrl='<%#Eval("ProductId","~/Handles/ImgHandler.ashx?Id={0}") %>' />
                               </li>
                               <li>
                                     <a href='BarDetail.aspx?ProductId=<%#Eval("ProductId") %>' class="a1">
                                    <%#Eval("ProductName") %></a>
                                  <asp:HiddenField ID="hidid" runat="server" Value='<%#Eval ("ProductId") %>'/>
                               </li>
                               <li>
                                   <%#Eval("Price","{0:F1}") %>
                               </li>
                               <li>
                                     <asp:TextBox ID="txtQty" Width="30px" runat="server" Text='<%#Eval("Quantity") %>'></asp:TextBox>
                               </li>
                              <li>
                                    <asp:LinkButton ID="lkbDelete" runat="server" CommandName="Delete" CommandArgument='<%#Eval("ProductId") %>'>
                                    删除</asp:LinkButton> 
                              </li>
                           </ul>  
                       </div>                                                                        
                    </ItemTemplate>
                    <FooterTemplate>                        
                    </FooterTemplate>                 
                </asp:Repeater>--%>         
        <div class="page">
            <div class="menu">
                <div class="title">
                    <img src="../../Resources/images/tab.gif" width="16" height="16" /><span>数据列表</span></div>
                <div class="operate">
                    <ul>
                        <li><a href="#">新建</a></li>
                        <li><a href="#">编辑</a></li>
                        <li><a href="#">删除</a></li>
                        <li><a href="#">返回</a></li>
                    </ul>
                </div>
            </div>
            <div class="datatbl">
                <div class="search">
                   <span style=" font-size:18px;font-weight:bold;">
                        <a href="BraClothList.aspx">继续购物</a>
                   </span>                 
                </div>
                <table id="tbl">
                    <tr>
                        <th class="auto-style1">
                           图片
                        </th>
                        <th class="auto-style1">
                            名字
                        </th>
                        <th class="auto-style1">
                            价格
                        </th>
                          <th class="auto-style1">
                            数量
                        </th>
                        <th class="auto-style1">
                            删除
                        </th>                
                    </tr>
                    <asp:Repeater ID="repShow" runat="server" OnItemCommand="repShow_ItemCommand" >
                        <ItemTemplate>
                            <tr>
                                <td>
                                  <asp:Image ID="Image1" runat="server" Width="65px" Height="75px" BorderWidth="1" 
                                ImageUrl='<%#Eval("ProductId","~/Handles/ImgHandler.ashx?Id={0}") %>' />
                                </td>
                                <td>
                                    <a href='BarDetail.aspx?ProductId=<%#Eval("ProductId") %>' class="a1">
                                    <%#Eval("ProductName") %></a>
                                  <asp:HiddenField ID="hidid" runat="server" Value='<%#Eval ("ProductId") %>'/>
                                </td>
                                <td>
                                      <%#Eval("Price","{0:F1}") %>
                                </td>
                                <td>
                                     <asp:TextBox ID="txtQty" Width="30px" runat="server" Text='<%#Eval("Quantity") %>'></asp:TextBox>
                                </td>
                                 <td>
                                   <asp:LinkButton ID="lkbDelete" runat="server" CommandName="Delete" CommandArgument='<%#Eval("ProductId") %>'>
                                    删除</asp:LinkButton> 
                                </td>                                                
                            </tr>                      
                        </ItemTemplate>                
                    </asp:Repeater>
                </table>
                <div class="Total">                   
                      <span style="padding-left:620px">
                         总计: <asp:Label ID="lblTotal" runat="server" Text="Label"></asp:Label>
                      </span>         
                       <span style="padding-left:75px"><asp:LinkButton ID="lkbUpdateQty" runat="server" OnClick="lkbUpdateQty_Click">修改数量</asp:LinkButton></span>
                       <span style="padding-left:57px"><a href="BarSubmitOrder.aspx">提交订单</a></span>
                </div>
            </div>
            <div class="clear">
    
            </div>
        </div>
    
    
    
        
    
        <div class="contact">
            <div class="container">
            <div class="contact-info">
                <h3>标题</h3>
            </div>    
              <div class="grid_3 grid_4">
              <h3>国外酒名排名</h3>
              <div class="bs-example">
                <table class="table">
                  <tbody>
                    <tr>
                      <td><h1 id="h1.-bootstrap-heading">h1.尊尼获加<a class="anchorjs-link" href="#h1.-bootstrap-heading"><span class="anchorjs-icon"></span></a></h1></td>
                      <td class="type-info">8000¥</td>
                    </tr>
                    <tr>
                      <td><h2 id="h2.-bootstrap-heading">h2.轩尼诗<a class="anchorjs-link" href="#h2.-bootstrap-heading"><span class="anchorjs-icon"></span></a></h2></td>
                      <td class="type-info">2000¥</td>
                    </tr>
                    <tr>
                      <td><h3 id="h3.-bootstrap-heading">h3.铭悦香槟<a class="anchorjs-link" href="#h3.-bootstrap-heading"><span class="anchorjs-icon"></span></a></h3></td>
                      <td class="type-info">9999¥</td>
                    </tr>
                    <tr>
                      <td><h4 id="h4.-bootstrap-heading">h4.人头马<a class="anchorjs-link" href="#h4.-bootstrap-heading"><span class="anchorjs-icon"></span></a></h4></td>
                      <td class="type-info">2333$</td>
                    </tr>
                    <tr>
                      <td><h5 id="h5.-bootstrap-heading">h5.家豪威士忌<a class="anchorjs-link" href="#h5.-bootstrap-heading"><span class="anchorjs-icon"></span></a></h5></td>
                      <td class="type-info">8999$</td>
                    </tr>
                    <tr>
                      <td><h6>h6.白兰地</h6></td>
                      <td class="type-info">5600$</td>
                    </tr>
                  </tbody>
                </table>
                </div>
              </div>
              <div class="grid_3 grid_5">
    
                <h3>四川</h3>
                  <h1>
                    <a href="#"><span class="label label-default">剑南春</span></a>
                    <a href="#"><span class="label label-primary">五粮液</span></a>
                    <a href="#"><span class="label label-success">文君酒</span></a>
                    <a href="#"><span class="label label-info">白酒</span></a>
                    <a href="#"><span class="label label-warning">泸州老窖</span></a>
                    <a href="#"><span class="label label-danger">五食醇</span></a>
                  </h1>
    
                  <h2>贵酒</h2>
                  <h2>
                    <a href="#"><span class="label label-default">茅台</span></a>
                    <a href="#"><span class="label label-primary">董酒</span></a>
                    <a href="#"><span class="label label-success">习水大曲</span></a>
                    <a href="#"><span class="label label-info">黑糯米酒 </span></a>
                    <a href="#"><span class="label label-warning">西凤酒</span></a>
                    <a href="#"><span class="label label-danger">店头高酒 </span></a>
                  </h2>
    
                  <h3>湘酒</h3>
                  <h3>
                    <a href="#"><span class="label label-default">酒魂酒</span></a>
                    <a href="#"><span class="label label-primary">酒鬼酒</span></a>
                    <a href="#"><span class="label label-success">湘泉酒</span></a>
                    <a href="#"><span class="label label-info">武陵酒</span></a>
                    <a href="#"><span class="label label-warning">浏阳河</span></a>
                    <a href="#"><span class="label label-danger">德山大曲 白沙液 </span></a>
                  </h3>
    
                  <h4>鄂酒</h4>
                  <h4>
                    <a href="#"><span class="label label-default">稻花酒</span></a>
                    <a href="#"><span class="label label-primary">枝江大曲</span></a>
                    <a href="#"><span class="label label-success">白龙井</span></a>
                    <a href="#"><span class="label label-info">白云边</span></a>
                    <a href="#"><span class="label label-warning">石花大曲</span></a>
                    <a href="#"><span class="label label-danger">西陵特曲</span></a>
                  </h4>
    
                  <h5>鲁酒</h5>
                  <h5>
                    <a href="#"><span class="label label-default">心酒</span></a>
                    <a href="#"><span class="label label-primary">兰陵</span></a>
                    <a href="#"><span class="label label-success">孔府家酒 </span></a>
                    <a href="#"><span class="label label-info">烟台红葡萄酒</span></a>
                    <a href="#"><span class="label label-warning">金贵特曲</span></a>
                    <a href="#"><span class="label label-danger">封缸酒 </span></a>
                  </h5>
    
                  <h6>皖酒</h6>
                  <p></p>
                  <h6>
                    <a href="#"><span class="label label-default">古井贡</span></a>
                    <a href="#"><span class="label label-primary">口子酒</span></a>
                    <a href="#"><span class="label label-success">沙河王</span></a>
                    <a href="#"><span class="label label-info">双轮王</span></a>
                    <a href="#"><span class="label label-warning">贡酒</span></a>
                    <a href="#"><span class="label label-danger">龙兴御液</span></a>
                  </h6>
               </div>
               
               <div class="grid_3 grid_5">
                 <h3>酒类 销售</h3>
                     <div class="tab-content">
                          <div class="tab-pane active" id="domprogress">
                              <div class="progress">    
                                <div class="progress-bar progress-bar-primary" style=" 20%"></div>
                              </div>
                              <p>人头马特级 <code>500</code> 台.</p>
                              <div class="progress">    
                                <div class="progress-bar progress-bar-info" style=" 60%"></div>
                              </div>
                              <p>轩尼诗XO <code>200</code> 台.</p>
                              <div class="progress">
                                <div class="progress-bar progress-bar-success" style=" 30%"></div>
                              </div>
                              <p> 马爹利 <code>100</code> 箱.</p>
                              <div class="progress">
                                <div class="progress-bar progress-bar-warning" style=" 70%"></div>
                              </div>
                              <p>珠江啤酒 <code>520</code> 箱.</p>
                              <div class="progress">
                                <div class="progress-bar progress-bar-danger" style=" 50%"></div>
                              </div>
                              <p>老伯威 <code>4023</code> 瓶.</p>
                              <div class="progress">
                                <div class="progress-bar progress-bar-inverse" style=" 40%"></div>
                              </div>
                               <p>活福珍藏威士忌 <code>1</code> 瓶.</p>
                              <div class="progress">
                                <div class="progress-bar progress-bar-success" style=" 35%"><span class="sr-only">35% Complete (success)</span></div>
                                <div class="progress-bar progress-bar-warning" style=" 20%"><span class="sr-only">20% Complete (warning)</span></div>
                                <div class="progress-bar progress-bar-danger" style=" 10%"><span class="sr-only">10% Complete (danger)</span></div>
                              </div>
                        </div>
                   </div>
               </div>
               <div class="grid_3 grid_5">
                 <h3>好酒推销</h3>
                   <div class="alert alert-success" role="alert">
                    <strong>第一名:BACARDI!</strong>自西班牙移民古巴的该品牌创始者首度将当时原本极粗犷强烈的Rum,成功赋予了细致、柔和的崭新风貌,因之相对使Bacardi成为Rum的代表品牌.除了最基本的light系列外,151°酒精度高达75.5%,用来调制鸡尾酒,口感格外饱满. .
                   </div>
                   <div class="alert alert-info" role="alert">
                    <strong>第二名:SMIRNOFF!</strong> 1818年,在莫斯科建立了皇冠伏特加酒厂(PierreSmirnoffFils) 目前为最为普遍接受的伏特加之一,在全球170多个国家销售,堪称全球第一伏特加..
                   </div>
                   <div class="alert alert-warning" role="alert">
                    <strong>第三名:ABSOLUT!</strong> 享誉国际的顶级烈酒品牌绝对伏特加(ABSOLUT VODKA)在福布斯(Forbes)商业杂志所评选的美国奢侈品牌独占鳌头.所生产的顶级伏特加不但口感圆润,而且质量无与伦比,但其品牌所体现出来的完美和无穷创造力更是为世界所首肯,从而名扬九州..
                   </div>
                   <div class="alert alert-danger" role="alert">
                    <strong>第四名:JOHNNIE WALKER!</strong> 以卓越酒质享誉全球的尊尼获加成立于1820年,是全世界最大的苏格兰威士忌生产商,历史悠久. 
                   </div>
               </div>
               <div class="grid_3 grid_5">
                 <h3>信息</h3>
                 <div class="col-md-6">
                  <nav>
                  <ul class="pagination pagination-lg">
                    <li><a href="#" aria-label="Previous"><span aria-hidden="true">«</span></a></li>
                    <li><a href="#">1</a></li>
                    <li><a href="#">2</a></li>
                    <li><a href="#">3</a></li>
                    <li><a href="#">4</a></li>
                    <li><a href="#">5</a></li>
                    <li><a href="#" aria-label="Next"><span aria-hidden="true">»</span></a></li>
                  </ul>
                  </nav>
                  <nav>
                  <ul class="pagination">
                    <li><a href="#" aria-label="Previous"><span aria-hidden="true">«</span></a></li>
                    <li><a href="#">1</a></li>
                    <li><a href="#">2</a></li>
                    <li><a href="#">3</a></li>
                    <li><a href="#">4</a></li>
                    <li><a href="#">5</a></li>
                    <li><a href="#" aria-label="Next"><span aria-hidden="true">»</span></a></li>
                  </ul>
                </nav>
                <nav>
                  <ul class="pagination pagination-sm">
                    <li><a href="#" aria-label="Previous"><span aria-hidden="true">«</span></a></li>
                    <li><a href="#">1</a></li>
                    <li><a href="#">2</a></li>
                    <li><a href="#">3</a></li>
                    <li><a href="#">4</a></li>
                    <li><a href="#">5</a></li>
                    <li><a href="#" aria-label="Next"><span aria-hidden="true">»</span></a></li>
                  </ul>
                </nav>
                </div>
                <div class="col-md-6">
                    <ul class="pagination pagination-lg">
                                    <li class="disabled"><a href="#"><i class="fa fa-angle-left">«</i></a></li>
                                    <li class="active"><a href="#">1</a></li>
                                    <li><a href="#">2</a></li>
                                    <li><a href="#">3</a></li>
                                    <li><a href="#">4</a></li>
                                    <li><a href="#">5</a></li>
                                    <li><a href="#"><i class="fa fa-angle-right">»</i></a></li>
                                </ul>
                <nav>
                  <ul class="pagination">
                    <li class="disabled"><a href="#" aria-label="Previous"><span aria-hidden="true">«</span></a></li>
                    <li class="active"><a href="#">1 <span class="sr-only">(current)</span></a></li>
                    <li><a href="#">2</a></li>
                    <li><a href="#">3</a></li>
                    <li><a href="#">4</a></li>
                    <li><a href="#">5</a></li>
                    <li><a href="#" aria-label="Next"><span aria-hidden="true">»</span></a></li>
                 </ul>
               </nav>
                 <ul class="pagination pagination-sm">
                    <li class="disabled"><a href="#"><i class="fa fa-angle-left">«</i></a></li>
                    <li class="active"><a href="#">1</a></li>
                    <li><a href="#">2</a></li>
                    <li><a href="#">3</a></li>
                    <li><a href="#">4</a></li>
                    <li><a href="#">5</a></li>
                    <li><a href="#"><i class="fa fa-angle-right">»</i></a></li>
                </ul>
                </div>
               <div class="clearfix"> </div>
               </div>
               <div class="grid_3 grid_5">
                 <h3>类型</h3>
                   <ol class="breadcrumb">
                  <li class="active">好</li>
                </ol>
                <ol class="breadcrumb">
                  <li><a href="#">好</a></li>
                  <li class="active">非常好</li>
                </ol>
                <ol class="breadcrumb">
                  <li><a href="#">好</a></li>
                  <li><a href="#">非常好</a></li>
                  <li class="active">更好</li>
                </ol>
               </div>
               <div class="grid_3 grid_5">
                 <h3>徽章</h3>
                    <div class="col-md-6">
                        <p>著名酒名作家.</p>
                          <table class="table table-bordered">
                            <thead>
                                <tr>
                                    <th width="50%">袁军</th>
                                    <th width="50%">刘斌灏</th>
                                </tr>
                            </thead>
                            <tbody>
                                <tr>
                                    <td>艺术</td>
                                    <td><span class="badge">42</span></td>
                                </tr>
                                <tr>
                                    <td><code>.二窝头</code></td>
                                    <td><span class="badge badge-primary">1</span></td>
                                </tr>
                                <tr>
                                    <td><code>.白酒</code></td>
                                    <td><span class="badge badge-success">22</span></td>
                                </tr>
                                <tr>
                                    <td><code>.米酒</code></td>
                                    <td><span class="badge badge-info">30</span></td>
                                </tr>
                                <tr>
                                    <td><code>.清酒</code></td>
                                    <td><span class="badge badge-warning">412</span></td>
                                </tr>
                                <tr>
                                    <td><code>.啤酒</code></td>
                                    <td><span class="badge badge-danger">999</span></td>
                                </tr>
                            </tbody>
                          </table>                    
                    </div>
                    <div class="col-md-6">
                      <p>中国著名 <code>.酒类</code> </p>
                        <div class="list-group list-group-alternate"> 
                            <a href="#" class="list-group-item"><span class="badge">201</span> <i class="ti ti-email"></i>  茅台 </a> 
                            <a href="#" class="list-group-item"><span class="badge badge-primary">5021</span> <i class="ti ti-eye"></i>   杜康 </a> 
                            <a href="#" class="list-group-item"><span class="badge">14</span> <i class="ti ti-headphone-alt"></i>  金银剑南 </a> 
                            <a href="#" class="list-group-item"><span class="badge">20</span> <i class="ti ti-comments"></i> 天之蓝 </a> 
                            <a href="#" class="list-group-item"><span class="badge badge-warning">14</span> <i class="ti ti-bookmark"></i>  古井贡原浆酒 </a> 
                            <a href="#" class="list-group-item"><span class="badge badge-danger">30</span> <i class="ti ti-bell"></i> 年陈红花郎酒 </a> 
                        </div>
                   </div>
                   <div class="clearfix"> </div>
                 </div>
                 
              <div class="grid_3 grid_5">
                 <h3>ABSOLUT</h3>
                   <div class="well">
                    享誉国际的顶级烈酒品牌绝对伏特加(ABSOLUT VODKA)在福布斯(Forbes)商业杂志所评选的美国奢侈品牌独占鳌头
                   </div>
                   <div class="well">
                    所生产的顶级伏特加不但口感圆润,而且质量无与伦比
                   </div>
                   <div class="well">
                    品牌所体现出来的完美和无穷创造力更是为世界所首肯,从而名扬九州.
                   </div>
              </div>
        </div>
    </div>
    </fieldset>
    </asp:Content>
    View Code

    样式代码(针对Repeater控件样式):

    * {padding:0;margin:0; font-family:微软雅黑;}
    body {background-color:#fff;}
    a {text-decoration:none;}
    img {border:none;}
    .clear {clear:both;}
    
    .txt { 280px; height:24px; line-height:24px; font-size:14px; border:1px solid #cc1616; overflow:auto;}
    .btnSubmit {66px; height:26px; line-height:24px; font-size:14px; border:1px solid #cc1616; background:#fbfe1f;color:#cc1616;}
    .btn {66px; height:26px; line-height:24px;font-size:14px; border:1px solid #000; background:#d0d0d0;color:#000;}
    
    /*头部*/
    .header01 {background:url(../images/header01.jpg) repeat-x; 100%; height:88px; overflow:hidden;}
        .header01 h1 {color:#cc1616;margin-left:50px;font-family:微软雅黑;}
    /*主导航*/
    .nav {background:url(../images/nav.jpg) repeat-x; 100%; height:36px; overflow:hidden;}
    .nav ul { float:right; margin-right:50px;}
    .nav ul li{list-style:none; float:left; height:36px;margin:0 8px;  text-align:center; line-height:36px;}
    .nav ul li a {font:14px; color:#fff;padding:0 8px; display:block; 100%; height:36px;}
    .nav ul li a:hover,.nav ul li a.hover { background:url(../images/navhover.jpg) repeat-x; }
    
    /*主界面*/
    .maintbl {100%; height:100%;border:none; border-collapse:collapse; table-layout:fixed}
    
    /*操作页面菜单样式*/
    .menu { 1000px; margin:0 auto 8px auto; overflow:hidden; border-bottom:1px solid #cc1616;}
    .menu .title { background:url(../images/menu01.jpg) repeat-x;position:relative; color:#cc1616;font-size:14px; 100%; height:27px; line-height:28px; padding-left:8px;}
    .menu .title img {position:absolute; top:7px;}
    .menu .title span { margin-left:18px;}
    .menu .operate { 100%; height:28px; line-height:28px;}
    .menu .operate ul {list-style:none; margin-left:8px;}
    .menu .operate ul li{list-style:none; float:left; margin-left:4px; height:28px; }
    .menu .operate ul li a {font-size:12px; display:block; padding:0 4px; color:gray;line-height:24px; height:24px; margin-top:4px;}
    .menu .operate ul li a:hover {color:#fff; background:#cc1616;}
    .page {1000px; margin:8px auto; border:1px solid #999;}
    
    /*表单样式*/
    .form { 100%; margin-top:20px;}
    .form ul { margin-left:8px;}
    .form ul li { list-style:none; margin:8px; border-bottom:1px dashed rgb(204,204,204); padding-bottom:8px;}
    .form ul li span.error { color:green;font-size:12px;font-family:宋体; margin-left:8px;}
    .form ul li span.warm { color:gray;font-size:12px;font-family:宋体;margin-left:8px;}
    
    /*数据表格*/
    .datatbl { 100%; margin-top:10px;}
    .datatbl table {980px; margin:10px auto;border:2px solid rgb(204,204,204); border-collapse:collapse;}
    .datatbl table tr th { height:26px; background:url(../images/tblth.jpg) repeat-x; border:1px solid rgb(204,204,204);font-size:14px;}
    .datatbl table tr td { height:26px; border:1px solid rgb(204,204,204); text-align:center;font-size:14px;}
    .datatbl table tr td a { color:gray;}
    .datatbl table tr td a:hover {color:#cc1616;}
    
    /*分页空间*/
    .pager {980px; margin:10px auto;}
    .pager ul { list-style:none; float:right; margin-right:8px;}
    .pager ul li {float:left; margin-left:8px;font-size:12px; height:22px; line-height:22px;}
    .pager ul li select { height:22px; text-align:center;}
    .pager ul li a {display:block; font-size:12px;border:1px solid #999; color:#999; padding:0 6px; height:20px; line-height:20px;}
    .pager ul li a:hover { border:1px solid #cc1616; color:#fff; background:#cc1616;}
    
    /*查询条件*/
    .search { 980px; margin:10px auto; height:24px;}
    
    /*导航菜单*/
    .leftnav {margin-top:10px;190px;}
    .leftnav ul {list-style:none; margin:8px  0 0 16px; 150px;}
    .leftnav ul li {margin-bottom:8px;position:relative;150px;}
    .leftnav ul li img { position:absolute; top:4px;}
    .leftnav ul li a {font-size:14px; color:#000; margin-left:18px;}
    .leftnav ul li a:hover,.leftnav ul li a.hover {font-size:14px; color:#cc1616;font-weight:bold;}
    View Code

    二、在“Models”添加一个类名为“ProdItem.cs”

     如图所示:

    代码示例:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace Models
    {
      public  class ProdItem
        {
            public int ProductId { get; set; }
            public string ProductName { get; set; }
            public decimal Price { get; set; }
            public int Quantity { get; set; }
        }
        
    }
    View Code

    三、在“BraSys”添加一个“ASP.Code”文件夹,在“ASP.Code”添加一个类名为“Cart.cs”编辑“增删改”方法

    1、如图所示(ASP.Code)

    2、如图所示(Cart.cs方法):上

    3、如图所示(Cart.cs方法):下

    代码示例:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    
    using Models;
    using BLL;
    /// <summary>
    /// Cart 的摘要说明
    /// </summary>
    public class Cart
    {
        public Cart()
        {
            //
            // TODO: 在此处添加构造函数逻辑
            //
        }
        private Dictionary<string, ProdItem> Carts = new Dictionary<string, ProdItem>();
        public void Add(string id)
        {
            ProdItem item = null;
            //判断产品是否存在
            if (Carts.TryGetValue(id, out item))
            {
                item.Quantity++;
            }
            else
            {
                Bars bs = new BarManager().Xyy_ProductGetModel(id);
                item = new ProdItem
                {
                    ProductId = bs.ProductId,
                    ProductName = bs.ProductName,
                    Price = bs.Price,
                    Quantity = 1
                };
                Carts.Add(id, item);
            }
        }
        //获取购物车数据
        public List<ProdItem> CartItems
        {
            get { return Carts.Values.ToList(); }
        }
        //获取总数
        public decimal Total
        {
            get 
            {
                decimal total = 0;
                foreach (ProdItem item in Carts.Values)         
                    total += item.Price * item.Quantity;
                    return total;           
            }
        }
        //删除
        public void Remove(string itemId)
        {
            Carts.Remove(itemId);
        }
    }
    View Code

    四、完成后,到“BrasServer/BarShow.aspx”编辑后台代码

    1、如图所示(绑定传参方法):

     

    2、如图所示(修改数量事件与删除事件方法):

    3、如图所示(总计方法):

    代码示例:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    public partial class BrasServer_BarShow : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Add();
                //绑定
                BindCart();
            }
        }
        //购物车
        private Cart Carts
        {
            get 
            {
                Cart cart = null;
                if (Session["cart"] == null)
                    cart = new Cart();
                else
                    cart = Session["cart"] as Cart;
                return cart;
            }
            set { Session["cart"] = value; }
        }
        //添加购物
        private void Add()
        {
            if(Request.QueryString["ProductId"]!=null)
            {
                //添加购物
                Cart cart = Carts;
                cart.Add(Request.QueryString["ProductId"]);
                Carts = cart;
            }
        }
        //绑定购物车
        private void BindCart()
        {
            repShow.DataSource = Carts.CartItems;
            repShow.DataBind();
    
            //总计
            lblTotal.Text = Carts.Total.ToString();
            Session["cart"] = Carts;
        }
        //修改事件
        protected void lkbUpdateQty_Click(object sender, EventArgs e)
        {
            HiddenField hid = null;
            TextBox tex = null;
            foreach (RepeaterItem item in repShow.Items)
            {
                hid = item.FindControl("hidid") as HiddenField;
                tex = item.FindControl("txtQty") as TextBox;
                Carts.SetQuantity(hid.Value, Convert.ToInt32(tex.Text));
            }
            BindCart();
        }
       
        //删除事件
        protected void repShow_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            if (e.CommandName == "Delete")
            {
                Carts.Remove(e.CommandArgument.ToString());
                BindCart();
            }
        }
    }
    View Code

     五、到“BrasServer/BraClothList.aspx”前台代码编辑“链接”方法

    如图所示:

    代码示例:

    <%@ Page Title="" Language="C#" MasterPageFile="~/BrasServer/Bratheme.master" AutoEventWireup="true" CodeFile="BraClothList.aspx.cs" Inherits="BrasServer_BraClothList" %>
    
    <%@ Register Src="~/FindControl/BraControl.ascx" TagPrefix="uc1" TagName="BraControl" %>
    
    
    <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
        <style type="text/css">
            #bcolor 
            {
                background-color:#E9E4DF;          
            }
            .a1 
            {
               font-size:18px;
               font-weight:bold;
              
            }
            .a1:hover 
            {
                color:#ff6a00;
            }
             .a2:hover 
            {
               padding-left:5px;
               text-shadow:5px 5px 4px #00ff21;
            }
            .a2 
            {
               font-size:17px;
               font-weight:bold;
              
            }
            .a3 
            {
               font-size:19px;        
               color:#000;
            }
            .td1 
            {
                font-size:20px;
                font-family:PMingLiU-ExtB;
                font-weight:600;
            }
            .ListBox 
            {
                line-height:500px;
                 /*border:1px solid #ff6a00;*/
            }
            .Control 
            {
                text-align:center;        
            }
        </style>
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
        <fieldset id="bcolor">
        <legend style="background-color:#E9E4DF; font-size:18px;padding-left:20%;font-weight:bolder;">在线买酒产品
            </legend>
            <table  style="55%;margin-left:20%;">
                <tr>
                    
                    <td class="Control" colspan="2">
                        <uc1:BraControl runat="server" ID="BraControl" />
                    </td>             
    
                    <td class="auto-style2"></td>
                </tr>
                <tr>
                    <td class="td1">牌子选择</td>
                    <td class="td1">
                        <asp:LinkButton ID="LinkButton1" runat="server">日期</asp:LinkButton>
                        <asp:LinkButton ID="LinkButton2" runat="server">价格</asp:LinkButton>
                    </td>
                    <td class="auto-style15"></td>
                </tr>
                <tr>
                    <td class="ListBox">
                        <asp:ListBox ID="lbCates" runat="server" Height="420px" Width="268px" AppendDataBoundItems="True" AutoPostBack="True" OnSelectedIndexChanged="lbCates_SelectedIndexChanged">
    
                        </asp:ListBox>
                    </td>
                    <td class="auto-style12">
                        <asp:Repeater ID="repClothList" runat="server">
                            <HeaderTemplate>
                                <table style="100%;height:180px;">
                            </HeaderTemplate>
                            <ItemTemplate>
                                <tr>
                                    <td rowspan="5">
                                       <%-- <asp:Image ID="Image1" runat="server" Width="165px" Height="175px" BorderWidth="5" ImageUrl='<%# Eval("ImgSrc","~/{0}") %>'/>--%>
                                         <asp:Image ID="Image1" runat="server" Width="165px" Height="175px" BorderWidth="5" 
                                      ImageUrl='<%#Eval("ProductId","~/Handles/ImgHandler.ashx?Id={0}") %>' />
                                    </td>
                                    <td>
                                        <a href='BarDetail.aspx?ProductId=<%#Eval("ProductId") %>' class="a1">
                                            <%#Eval("ProductName") %></a>
                                    </td>
                                </tr>
                              <tr>
                                  <td class="a3">价格:<%#Eval("Price","{0:F1}") %></td>                        
                              </tr>
    
                               <tr>
                                  <td class="a3">日期:<%#Eval("PublishDate","{0:yyyy-MM-dd}") %>></td>
                              </tr>
                               <tr>
                                  <td style="270px">
                                      <span class="a2">
                                      <a href='BarShow.aspx?ProductId=<%#Eval("ProductId") %>'>
                                      <img  src="../images/btn_new.jpg" style="height:32px;100px;" />添加购物车</a>
                                  </span>
                                   </td>
                              </tr>
                                <tr>
                                    <td colspan="3" style="border-bottom:2px solid red;height:5px;">&nbsp;</td>
                                </tr>
                            </ItemTemplate>
                            <FooterTemplate>
                                </table>
                            </FooterTemplate>
                        </asp:Repeater>
                    </td>
                    <td class="auto-style3"></td>
                </tr>
                <tr>
                    <td class="auto-style9"></td>
                    <td class="auto-style13">
                        <asp:Label ID="lblPage" runat="server" Text="Label"></asp:Label>
                        <asp:LinkButton ID="lkbprev" runat="server" OnClick="lkbprev_Click">上一页</asp:LinkButton>
                        <asp:LinkButton ID="lkbNext" runat="server" OnClick="lkbNext_Click">下一页</asp:LinkButton>
                    </td>
                    <td class="auto-style4"></td>
                </tr>
            </table>
    
    </fieldset>
    </asp:Content>
    View Code

     运行效果:

  • 相关阅读:
    一次线上bug引起的反思
    本地调试接口返回信息不对 以及 jar冲突问题
    404问题记录
    Intelij IDEA 配置Tomcat时找不到 “Application Server”
    java多线程处理问题
    DataTemplate和ControlTemplate的关系
    WP模板
    wp中的动画
    wp中的位图
    2013.7.22-7.28开发资料汇总
  • 原文地址:https://www.cnblogs.com/xuyangyang/p/6404704.html
Copyright © 2020-2023  润新知