版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、【標(biāo)題】基于Web的鮮花銷售系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn) 【作者】朱婧紅 【關(guān)鍵詞】鮮花銷售 銷售系統(tǒng) ASP.NET 【指導(dǎo)老師】程冰 【專業(yè)】計(jì)算機(jī)科學(xué)與技術(shù) 【正文】界面的設(shè)計(jì)用于顧客瀏覽各種鮮花,如鮮花的價格、花語等以達(dá)成購置意向,當(dāng)鼠標(biāo)指向各種鮮花時,會顯示鮮花的花語,以便購置者根據(jù)自己的需要選擇不同的花束。鮮花的價格分為非會員價格和會員價格,以不同身份登錄系統(tǒng)時,所要支付的貨款也時不同的。然后放入購物車,并填寫訂單,提交訂單及確認(rèn)訂單等操作。收貨人信息界面中的每一個文本框的輸入都有驗(yàn)證,內(nèi)容不能為空,并校對輸入的內(nèi)容是否正確,如果沒有正確的輸入,系
2、統(tǒng)將會提示操作失敗,以便重新添加正確的內(nèi)容,然后確認(rèn)訂單并提交。其樣式如5-2圖。5.3蛋糕頁面的設(shè)計(jì)同鮮花頁面功能類似,顧客瀏覽各種蛋糕,以確定適應(yīng)購置的需要。然后放入購物車,并填寫訂單,提交訂單及確認(rèn)訂單等操作。當(dāng)鼠標(biāo)指向各種蛋糕時,會顯示蛋糕的含義,以便購置者根據(jù)自己的需要選擇不同的貨物。蛋糕的價格也分為非會員價格和會員價格,當(dāng)以不同身份登錄系統(tǒng)時,所要支付的貨款也是不同的。收貨人信息界面中的每一個文本框的輸入都有驗(yàn)證,內(nèi)容不能為空,并校對輸入的內(nèi)容是否正確,如果沒有正確的輸入,系統(tǒng)將會提示操作失敗,以便重新添加正確的內(nèi)容,然后確認(rèn)訂單并提交。5.4水果頁面的設(shè)計(jì)如同前兩個頁面,顧客瀏覽
3、各樣蛋糕,然后確定購置。填寫訂單、確認(rèn)訂單及提交訂單。其樣式結(jié)構(gòu)如圖5-3所示。 圖5-3水果界面
4、 圖5-4會員界面5.5會員頁面的設(shè)計(jì)我的賬戶頁面在這個頁面里會員可以修改自己的密碼。其樣式結(jié)構(gòu)如圖5-4所示。購物車頁面購物車頁面用于實(shí)現(xiàn)購物車管理模塊的功能要求,頁面采用了一個datagrid控件來顯示購物車中的商品信息,并將它的“數(shù)量列設(shè)為flowerbox列,允許客戶修改商品的數(shù)量,同時將“刪除列設(shè)為checkbox列,允許刪除所購置的鮮花。會員可以查看自己購物車?yán)锼彽纳唐?,選擇繼續(xù)購置或刪除商品,然后提交訂單、確認(rèn)訂單。5.6管理界面的設(shè)計(jì)商品管理管理員可以查看那商品信息,對商品添加,商品
5、信息修改及刪除過期商品。其樣式圖如圖5-5所示。訂單管理訂單管理頁可以查看已發(fā)貨訂單、未發(fā)貨訂單、未完成訂單及已完成訂單。完成訂單與否即判斷貨物是否發(fā)出,是否收到。發(fā)貨、收貨物與否都由管理員操作,隨時更新訂單信息。樣式圖如圖5-6所示。會員管理查看會員的詳細(xì)信息,如賬號、密碼、姓名、性別等,還可以刪除會員信息。公告管理對公告進(jìn)行添加公告、修改,刪除過期公告等。并可以決定是否顯示在首頁,假設(shè)是較為重要的公告,那么將其顯示在首頁,以引起顧客的注意。購物車管理對已發(fā)貨或者沒有生成訂單的購物車進(jìn)行及時管理去除,以減少數(shù)據(jù)庫的信息,使其訪問速度更高。管理員信息修改主要用于管理員修改自己的密碼。
6、; 圖5-5商品管理界面 圖5-6訂單管理界面6 代碼實(shí)現(xiàn)界面設(shè)計(jì)
7、是系統(tǒng)的外在表現(xiàn),而功能那么由后臺代碼來實(shí)現(xiàn)。在代碼實(shí)現(xiàn)過程中,采用類的封裝,來實(shí)現(xiàn)對所有數(shù)據(jù)的操作。封裝的過程中,對所有的方法以靜態(tài)方式封裝,以保證在后續(xù)的使用中不用實(shí)例化,直接通過類來調(diào)用,以提高代碼的使用效率?;赪eb的鮮花銷售系統(tǒng)的核心代碼主要是對商品的不同性質(zhì)的操作,例如瀏覽商品、選擇商品、購置商品及為商品付款等操作。下面針對一些比擬難以理解的代碼給與適當(dāng)?shù)慕忉?,以便更清楚的了解系統(tǒng)的實(shí)現(xiàn)原理。6.1購物車類實(shí)現(xiàn)購物車是指當(dāng)用戶在瀏覽商品的過程中,發(fā)現(xiàn)自己需要的商品后,夠通過操作將該商品放入其中。購物車針對不同身份的用戶進(jìn)行不同的存儲。當(dāng)用戶尚未登錄時,購物車中存儲的是該商品的普通
8、價格;當(dāng)用戶登錄之后,進(jìn)行添加操作的時候那么存儲的是會員價格的商品。在設(shè)計(jì)的過程中,采用一張名為ShoppingCart的表來存儲相關(guān)信息。該表的購物車編號數(shù)據(jù)類型為Varchar,在添加的時候利用System.GuidClass產(chǎn)生一組隨機(jī)GUID(全局唯一標(biāo)識符)來標(biāo)示的。這樣做的好處是能夠確保任何時候不同的用戶的購物車都是唯一標(biāo)示的。然后在將該字符串保存在用戶機(jī)器的cookies中。購物車頁面的后臺支持類是ShoppingCartAccess.cs,它負(fù)責(zé)對頁面的事件進(jìn)行處理。購物車分為兩種,一種是已經(jīng)登錄過的用戶的購物車,在購物車編號中可以看到一個為具體數(shù)字的編號,購物車的ID等于用戶
9、ID另外一中是未登錄過的用戶的購物車,在購物車編號中可以看到一個字符串,該字符串保存在cookies,是利用System.GuidClass產(chǎn)生一個隨機(jī)GUID(全局唯一標(biāo)識符),回寫到客戶端指定的cookies中,同時返回TempCartId作為購物車的編號。購物車頁面的后臺支持類是ShoppingCartAccess.cs,它負(fù)責(zé)對頁面的事件進(jìn)行處理。首先,定義shopoingcart類,繼承了System.Web.UI.Page系統(tǒng)類:public partial class ShoppingCart : System.Web.UI.Page在頁面的Page_Load()事件中
10、,對datalist控件的數(shù)據(jù)綁定方法進(jìn)行調(diào)用。代碼如下: protected void Page_Load(object sender,EventArgs e)購物車編號生成的源碼如下:private static string CartId get HttpContext context = HttpContext.Current;
11、 string ShoppingCartId = "" object cartIdSession=context.Session"FlowerShop_CartID" if
12、0;(cartIdSession != null) ShoppingCartId = cartIdSession.ToString(); if (ShoppingCartId != "")
13、60; return ShoppingCartId; else
14、; if (context.Request.Cookies"FlowerShop_CartID" != null) &
15、#160; ShoppingCartId = context.Request.Cookies"FlowerShop_CartID".Value; context.Session"FlowerShop_CartID" = ShoppingCartId; &
16、#160; return ShoppingCartId; else
17、60; ShoppingCartId = Guid.NewGuid().ToString();
18、160; HttpCookie cookie = new HttpCookie("FlowerShop_CartID",ShoppingCartId.ToString(); int howManyDays = FlowerShopKeyField.CartPersistDays;
19、160; DateTime currentDate = DateTime.Now; TimeSpan timeSpan = new TimeSpan(howManyDays,0,0,0);
20、0; DateTime expirationDate = currentDate.Add(timeSpan); cookie.Expires = expirationDate;
21、0; context.Response.Cookies.Add(cookie); context.Session"FlowerShop_CartID" = ShoppingCartId;
22、 return ShoppingCartId.ToString();
23、160;6.2訂單列表頁面實(shí)現(xiàn)訂單是在用戶選擇了需要的商品之后,在購物車頁面通過生成訂單操作進(jìn)入訂單界面。當(dāng)用戶填寫相關(guān)信息之后,點(diǎn)擊提交便生成了一份訂單。訂單頁面的后臺支持類是orderlist.aspx.cs,它負(fù)責(zé)對頁面的事件進(jìn)行處理。在頁面的的Page_Load()事件中,首先判斷是否是已登陸的會員,如果已登陸那么獲取已經(jīng)登錄的客戶的UserID,然后利用這個UserID的值調(diào)用類中的方法,返回指定的某一個訂單的詳細(xì)信息,并在控件上顯示。訂單列表頁面的后臺支持類是orderlist.aspx.cs,它負(fù)責(zé)對頁面的事件進(jìn)行處理。首先定義orderlist類,繼承了System.Web.U
24、I.Page系統(tǒng)類。public partial class Submitmanag : System.Web.UI.Page在頁面的的page_load()事件中,首先利用ASP.Net內(nèi)建的User對象的屬性,獲取已經(jīng)登錄的客戶的UserID,然后利用這個UserID的值調(diào)用類中的方法,返回指定的某一個訂單的詳細(xì)信息,并在控件上顯示。代碼如下:protected void Page_Load(object sender, EventArgs e)
25、160; if (Session"Admin" = null) CatalogAccess.WebMessageBox("您尚未登陸!", "Admin_login.aspx"); if (Request.QueryString"submitId" !=
26、 null) string submitId = Request.QueryString"submitId".ToString(); Submit submit = ShoppingCartAcces
27、s.GetSubmit(submitId); if (submit.Email != "") &
28、#160; Payee.Text = submit.Payee; Addr.Text = submit.Addr; Email.Text = submit.Email;
29、60; TelDh.Text = submit.TelDh; TelSj.Text = submit.TelSj;
30、; PostalCode.Text = submit.PostalCode; Remarks.Text = submit.Remarks; decimal totalAmo
31、unt; SubmitProductslist.DataSource = ShoppingCartAccess.GetProductsInSubmit(submitId, out totalAmount); SubmitProdu
32、ctslist.DataBind(); TotalAmount.Text = string.Format("0:c", totalAmount);
33、160; else CatalogAccess.WebMessageBox("訂單不存在,請重新選定!", "Default.aspx"); &
34、#160; 6.3驗(yàn)證碼的實(shí)現(xiàn)驗(yàn)證碼負(fù)責(zé)對頁面的驗(yàn)證輸入局部進(jìn)行處理,只有當(dāng)用戶輸入與系統(tǒng)顯示的驗(yàn)證圖片上的字符后,才能正確登錄到系統(tǒng)相關(guān)頁面,如會員登錄和管理員登錄。它繼承了System.Web.UI.Page系統(tǒng)類。public partial class CheckCode : System.Web.UI.Page在頁面的事件中,調(diào)用了GenerateCheckCod
35、e()方法 protected void Page_Load(object sender, EventArgs e) CreateCheckCodeImage(GenerateCheckCode(); 在驗(yàn)證碼的獲取中,其主要代碼如下:private string
36、GenerateCheckCode() int number; char code; string strCheckCode = String.Empty; System.Random rand
37、om = new Random(); for (int iCount = 0; iCount < 5; iCount+) number
38、 = random.Next(); if (number % 2 = 0)
39、60; code = (char)('0' + (char)(number % 10); &
40、#160; else code = (char)('A' + (char)(number
41、% 26); strCheckCode += code.ToString();
42、0; /Response.Cookies.Add(new HttpCookie("checkcode",strCheckCode); Session"CheckCode" = strCheckCode; &
43、#160; return strCheckCode; / 創(chuàng)立驗(yàn)證碼圖片,并將其寫入內(nèi)存流中 private void CreateCheckCodeImage(string CheckCode)
44、 if (CheckCode = null | CheckCode.Trim() = String.Empty)
45、160; return; Bitmap img = new Bitmap(int)Math.Ceiling(CheckCode.Length * 10.5), 22);
46、160; Graphics g = Graphics.FromImage(img); try
47、60; /生成隨機(jī)生成器 Random random = new Random(); /清空圖片背景色
48、 g.Clear(Color.White); /畫圖片的背景噪音線 for (int iCount = 0; iCount &l
49、t; 25; iCount+) int x1 = random.Next(img.Width); &
50、#160; int x2 = random.Next(img.Width); int y1 = random.Next(img.Height);
51、160; int y2 = random.Next(img.Height); g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);
52、160; Font font = new Font("Arial", 11, (System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic);
53、160; System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, img.Width, img.Height), Color.Blue, Color.DarkRed, 1.2f, true);
54、60; g.DrawString(CheckCode, font, brush, 2, 2); /畫圖片的前景噪音點(diǎn)
55、60; for (int i = 0; i < 100; i+) int x = random.Next(img.Widt
56、h); int y = random.Next(img.Height); img.SetPixel(x, y, Color.FromA
57、rgb(random.Next(); /畫圖片的邊框線
58、0; g.DrawRectangle(new Pen(Color.Silver), 0, 0, img.Width - 1, img.Height - 1); System.IO.MemoryStream ms = new System.IO.MemoryStream();
59、0; img.Save(ms, System.Drawing.Imaging.ImageFormat.Gif); Response.ClearContent(); Re
60、sponse.ContentType = "image/Gif" Response.BinaryWrite(ms.ToArray();
61、60; catch (Exception exp) throw exp; &
62、#160; finally g.Dispose();
63、0; img.Dispose(); 7 軟件測試軟件測試就是在軟件投入運(yùn)行前,對軟件需求分析、設(shè)計(jì)規(guī)格說明和編碼的最終復(fù)審,是軟件質(zhì)量保證的關(guān)鍵步驟。任何軟件都有缺陷,這些缺陷,可能是以下幾個方面造成的: 1交流不夠、交流上有誤解或者根本不進(jìn)行交流 2軟件復(fù)雜性 &
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版小額貸款擔(dān)保及貸款利率調(diào)整及貸款條件變更及擔(dān)保人責(zé)任合同3篇
- 二零二五年度木工耗材供應(yīng)與配送合同4篇
- 01 修辭手法題的應(yīng)對策略-高考語文一輪復(fù)習(xí)之核心考點(diǎn)解密
- 七年級道德與法治試卷
- 信用激勵措施考核試卷
- 二零二五年度鋼材行業(yè)質(zhì)量標(biāo)準(zhǔn)制定與實(shí)施合同3篇
- 二零二五年度陵園墓碑雕刻技藝傳承合同4篇
- 2025版品牌視覺設(shè)計(jì)制作合同范本2篇
- 《菜根譚名句》課件
- 2025年因擅自公開他人隱私賠償協(xié)議
- 課題申報書:GenAI賦能新質(zhì)人才培養(yǎng)的生成式學(xué)習(xí)設(shè)計(jì)研究
- 駱駝祥子-(一)-劇本
- 全國醫(yī)院數(shù)量統(tǒng)計(jì)
- 《中國香文化》課件
- 2024年醫(yī)美行業(yè)社媒平臺人群趨勢洞察報告-醫(yī)美行業(yè)觀察星秀傳媒
- 第六次全國幽門螺桿菌感染處理共識報告-
- 天津市2023-2024學(xué)年七年級上學(xué)期期末考試數(shù)學(xué)試題(含答案)
- 經(jīng)濟(jì)學(xué)的思維方式(第13版)
- 盤錦市重點(diǎn)中學(xué)2024年中考英語全真模擬試卷含答案
- 手衛(wèi)生依從性調(diào)查表
- 湖北教育出版社四年級下冊信息技術(shù)教案
評論
0/150
提交評論