然后二级类别

二、开始

1.先看一下表设计

图片 1这是超级体系表,因为是电子商务系统,所以就暂时7个品类。

下一场二级连串:

图片 2GS_ID跟Sort_ID是同一的。

最后商品音讯表里面要求如此:

图片 3

八个ID分别对应Sort1和Sort2.

2.前台

前台的话,就是用了U途达L传值,不知情淘宝天猫用的是哪类传值。那么先来看一下和睦做的效率:

:平常张开多少个页面图片 4

那会儿后台该是直接加载:

public void dataload()        {            SqlDataSource4.SelectCommand = "select * ,(CASE WHEN datalength(Goods_name) <= 12 THEN Goods_name ELSE SUBSTRING(Goods_name, 1, 12) + '...' END) AS Goods_name1  FROM GoodsInfo " + ((Request.QueryString["Ord"] != null) ? "order by " + Request.QueryString["Ord"].ToString() : "");             }

来得出来有所商品。

:点击一流体系中的任性一个,出现:图片 5。当然底下商品也随即变动了,他的前台用了三个URubiconL:

<a href="NewGoods.aspx?SID1=<%#Eval("Sort_ID")%>" class="sortboxtext"><%#Eval("Sort_name")%></a>

后台加载时参预条件:

public void dataloadgoods()        {            SqlDataSource4.SelectCommand = "select * ,(CASE WHEN datalength(Goods_name) <= 12 THEN Goods_name ELSE SUBSTRING(Goods_name, 1, 12) + '...' END) AS Goods_name1  FROM GoodsInfo  where GS_id ='" + Request.QueryString["SID1"] + "'" + ((Request.QueryString["Ord"] != null) ? "order by " + Request.QueryString["Ord"].ToString() : "");        }

能够见到from GoodsInfo  where 后边的准则:GS_id =
(此处正是前台传过来的U奥迪Q3L了)。

点击一流体系后,再点击二级体系,出现:图片 6。底下商品随之退换。

前台:

<a href="NewGoods.aspx?SID1=<%#Eval("GS_ID")%>&SID2=<%#Eval("Sort2_ID")%>" class="sortboxtext2"><%#Eval("Sort_name")%></a>

后台:

public void dataloadgoods2()        {            SqlDataSource4.SelectCommand = "select * ,(CASE WHEN datalength(Goods_name) <= 12 THEN Goods_name ELSE SUBSTRING(Goods_name, 1, 12) + '...' END) AS Goods_name1  FROM GoodsInfo  where GS_id ='" + Request.QueryString["SID1"] + "' and GS2 = '" + Request.QueryString["SID2"] + "'" + ((Request.QueryString["Ord"] != null) ? "order by " + Request.QueryString["Ord"].ToString() : "");        }

能够见见,在SID1的基础上,加了三个尺码,用and连接,在末端写GS2 =
(此处正是前台传过来的二级类别的U途达L)。 后边的获取Ord是三个决断。

此页面中还应该有三个排序,也正是筛选,当你点击“价格”或是”最新宣布”时,出现:图片 7。能够看来在SID2前边有一个&,&前面还大概有一个尺码

前台:

<a href="NewGoods.aspx?<%=((Request.QueryString["SID1"] !=null)?"SID1="+Request.QueryString["SID1"].ToString():"") %>&<%=((Request.QueryString["SID2"] !=null)?"SID2="+Request.QueryString["SID2"].ToString():"") %>&Ord=In_store_price" class="seqencingtext">价格</a>

用了三目运算符,假诺不为空,就将SID1、SID2以及Ord传到后台,Ord是和煦定义的一个UEnclaveL名称。Ord=(此处的名目,应该跟你数据库中字段对应)

后台跟下面的二级连串同样,只可是下眼前台未有Ord,后台的Ord就是空了。这几个前台多了贰个Ord,后台获取也就多了贰个:

public void dataloadgoods2()        {            SqlDataSource4.SelectCommand = "select * ,(CASE WHEN datalength(Goods_name) <= 12 THEN Goods_name ELSE SUBSTRING(Goods_name, 1, 12) + '...' END) AS Goods_name1  FROM GoodsInfo  where GS_id ='" + Request.QueryString["SID1"] + "' and GS2 = '" + Request.QueryString["SID2"] + "'" + ((Request.QueryString["Ord"] != null) ? "order by " + Request.QueryString["Ord"].ToString() : "");        }

能够观看,最终Ord不为空,那么就order by Ord了。

最终一种情景:

图片 8

这几个只须求在前台的Radlistview中参加:

<telerik:RadListView ID="RadListView3" runat="server" AllowPaging="True" ItemPlaceholderID="item" PageSize="15" DataSourceID="SqlDataSource4">                          <EmptyDataTemplate>                                    <div class="tiptext">暂无此商品!</div>                                </EmptyDataTemplate>

就足以了。

以上,便是二级分类的基本内容了,不晓得Taobao天猫是怎么落到实处的。每一个浏览器可传的URAV4L长度分歧,不过在那几个连串里,还达不到两千多字符这种长度,不明了别的人是怎么弄的,希望懂的大神教教笔者。别的那U劲客L的安全性也是难点,不知情怎么弄,也指望会的教一下。多谢我们帮助!

ps:记录到那,整个项目就大旨差不离停止了,或许是最终一篇了。

一、前言

继上次的订单,那是第四篇。记录一下分类和筛选。那功能是终极做的,因为自个儿一心不懂其原理。后来透过同学的指导(一人很有原始的同窗,比作者牛逼三个档次,一样是高三。:D),终于也是成就了。在写那篇博客在此以前还会有一点半懂不懂,经过多少时光的思维,终于全懂了,能够将其写下来。

相关文章