如果asp.net做商品列表

如果asp.net做商品列表,第1张

用Repeater控件就可以了。

首先你弄一个大的div,设定宽高...然后在里面放一个Repeater,然后设置里面的模板,然后模板是一个小div,这个小的div的宽度就是大的div的四分之一,那这样每行就显示4个东西了。

具体如下:

<div style="height:412px width:412px float:left"><!--这里要稍微弄宽一点,因为div之间有边框的,你小div设置是100宽度,加上宽度可能就不是100了-->

    <asp:Repeater ID="Repeater1" runat="server">

        <ItemTemplate><!--下面就是模板了,数据就是根据下面的模样循环显示的-->

         <div style="width:100pxheight:50pxfloat:left">

                <img src="<%#Eval("imgurl")%>" /><br />

                <span><%#Eval("title")%></span><br />

             老缓    <span><%#Eval("price")%></span>

       兆缓         <!-- <%#Eval("imgurl")%>是取数据的,里面的参数imgurl是你从数据库读出来的字段的名字,这个是一个object类型的,你哪里要数据就往哪里放,不侍猜模需要你那些上面lable控件-->

            </div>

        </ItemTemplate>

    </asp:Repeater>

     </div>  //在后台的时候,绑定数据源

     Repeater1.DataSoure=ds

      //ds是DataSet类型的或者DataTable类型的。。这个就是你自己弄了,你肯定要从数据库读一个数据集出来的

定义一个商品实体类,将选择要购买的商品实例类对象放到一个List里面,用Session保谨衫饥存即可。

*** 作Session可实现不同页面之间的读写。祥返

不明白可以继续塌昌问。

我的想法是将购买的东西用表保存,再将表保存到session[cart]中 ,点击购买前穗时会有一件商品信息,假设为保存到DataTable中的tab点击购买按钮的click事件:if(session[cart]==null) //如果是第一次购买{ DataTable table=new DataTable() //动态生成表 DataColumn column1=new DataColumn("GoodsName",typeof(string))//动态生成列 DataColumn column2=new DataColumn("GoodsPrice",typeof(double)) DataColumn column3=new DataColumn("GoodsNumber",typeof(int))//假设我的表中只显示商品名称,商品价格,商品数量颂首 table.Columns.add(column1) //将列添加到表中 table.Columns.add(column2)table.Columns.add(column3)DataRow row=table.newRow()row["GoodsName"]=tab.rows[0]["name"]//从tab表(只可能是一件商品)中拿到购买的商品名称列 row["GoodsPrice"]=tab.rows[0]["price"] //从tab表中拿到价格列row["GoodsNumber"]=1 //第一次购买默认数量就是1件 table.rows.add(row)//将row添加到表慧樱卜中 session["cart"]=table //将表放入到session中}else //第二次购买了{ DataTable shoppingCart=session["cart"] //从session中拿到table bool b=true for(DaraRow row in shoppingCart.Rows) { if(row["GoodsName"].toString()==tab[0]["name"].toString())//判断是否是同一件商品 { row["GoodsNumber"]=convert.toInt32(row["GoodsNumber"])+1 //将数量加上1 session["cart"]=shoppingCart //重新把表放入sessionb=false } } if(b) //没有相同的商品 { DataRow row=shoppingCart.newRow() row["GoodsName"]=tab[0]["Name"] row["GoodsPrice"]=tab[0]["price"] row["GoodsNumber"]=tab[0]["number"] shoppingCart.Rows.add(row)//添加新行 session["cart"]=shoppingCart //同样将表保存到session中 } response.redirect("cart.aspx") //跳到购物车界面去显示session中的表 }}没有验证,只是凭记忆敲的,如果有问题,我相信你自己也可以解决了;不过不知道符不符合你的要求。我习惯用Session保存表,也可以用集合。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/bake/11991348.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存