国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

ASP.NET之電子商務系統(tǒng)開發(fā)-4(二級分類)

2019-11-17 01:55:13
字體:
來源:轉載
供稿:網友

asp.net之電子商務系統(tǒng)開發(fā)-4(二級分類)

一、前言

繼上次的訂單,這是第四篇。記錄一下分類和篩選。這功能是最后做的,因為我完全不懂其原理。后來通過同學的指導(一位很有天賦的同學,比我牛逼一個層次,同樣是高三。:D),終于也是完成了。在寫這篇博客之前還有點半懂不懂,經過些許時間的思考,終于全懂了,可以將其寫下來。

二、開始

1.先看一下表設計

image這是一級類別表,因為是電子商務系統(tǒng),所以就暫時7個類別。

然后二級類別:

imageGS_ID跟Sort_ID是一樣的。

最后商品信息表里面需要這樣:

image

兩個ID分別對應Sort1和Sort2.

2.前臺

前臺的話,正是用了URL傳值,不知道淘寶天貓用的是哪種傳值。那么先來看一下自己做的效果:

(1):正常打開一個頁面image

此時后臺該是直接加載:

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() : "");             }

顯示出來所有商品。

(2):點擊一級類別中的任意一個,出現(xiàn):image。當然底下商品也隨之變動了,他的前臺用了一個URL:

<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 = (此處就是前臺傳過來的URL了)。

(3)點擊一級類別后,再點擊二級類別,出現(xiàn):image。底下商品隨之變動。

前臺:

<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 = (此處就是前臺傳過來的二級類別的URL)。 后面的獲取Ord是一個判斷。

(4)此頁面中還有一個排序,也就是篩選,當你點擊“價格”或是”最新發(fā)布”時,出現(xiàn):image。可以看到在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是自己定義的一個URL名稱。Ord=(此處的名稱,應該跟你數(shù)據(jù)庫中字段對應)

后臺跟上面的二級類別一樣,只不過上面前臺沒有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了。

(5)最后一種情況:

image

這個只需要在前臺的Radlistview中加入:

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

就可以了。

以上,就是二級分類的基本內容了,不知道天貓?zhí)詫毷窃趺磳崿F(xiàn)的。每個瀏覽器可傳的URL長度不同,不過在這個項目里,還達不到2000多字符那種長度,不知道其他人是怎么弄的,希望懂的大神教教我。另外這URL的安全性也是問題,不知道怎么弄,也希望會的教一下。謝謝大家支持!

ps:記錄到這,整個項目就基本差不多結束了,可能是最后一篇了。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 桐庐县| 沂源县| 宁陵县| 南阳市| 东源县| 金门县| 姚安县| 临城县| 贵阳市| 香港| 中山市| 恭城| 贺兰县| 黎城县| 金山区| 辉南县| 天峻县| 罗江县| 双柏县| 拜泉县| 神木县| 上饶县| 浪卡子县| 临清市| 枝江市| 镇安县| 永昌县| 茂名市| 克拉玛依市| 确山县| 綦江县| 托里县| 紫云| 晋宁县| 黄平县| 临城县| 太谷县| 华亭县| 灌南县| 崇义县| 广南县|