




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、【標題】基于Web的鮮花銷售系統的設計和實現 【作者】朱婧紅 【關鍵詞】鮮花銷售 銷售系統 ASP.NET 【指導老師】程冰 【專業】計算機科學與技術 【正文】界面的設計用于顧客瀏覽各種鮮花,如鮮花的價格、花語等以達成購置意向,當鼠標指向各種鮮花時,會顯示鮮花的花語,以便購置者根據自己的需要選擇不同的花束。鮮花的價格分為非會員價格和會員價格,以不同身份登錄系統時,所要支付的貨款也時不同的。然后放入購物車,并填寫訂單,提交訂單及確認訂單等操作。收貨人信息界面中的每一個文本框的輸入都有驗證,內容不能為空,并校對輸入的內容是否正確,如果沒有正確的輸入,系
2、統將會提示操作失敗,以便重新添加正確的內容,然后確認訂單并提交。其樣式如5-2圖。5.3蛋糕頁面的設計同鮮花頁面功能類似,顧客瀏覽各種蛋糕,以確定適應購置的需要。然后放入購物車,并填寫訂單,提交訂單及確認訂單等操作。當鼠標指向各種蛋糕時,會顯示蛋糕的含義,以便購置者根據自己的需要選擇不同的貨物。蛋糕的價格也分為非會員價格和會員價格,當以不同身份登錄系統時,所要支付的貨款也是不同的。收貨人信息界面中的每一個文本框的輸入都有驗證,內容不能為空,并校對輸入的內容是否正確,如果沒有正確的輸入,系統將會提示操作失敗,以便重新添加正確的內容,然后確認訂單并提交。5.4水果頁面的設計如同前兩個頁面,顧客瀏覽
3、各樣蛋糕,然后確定購置。填寫訂單、確認訂單及提交訂單。其樣式結構如圖5-3所示。 圖5-3水果界面
4、 圖5-4會員界面5.5會員頁面的設計我的賬戶頁面在這個頁面里會員可以修改自己的密碼。其樣式結構如圖5-4所示。購物車頁面購物車頁面用于實現購物車管理模塊的功能要求,頁面采用了一個datagrid控件來顯示購物車中的商品信息,并將它的“數量列設為flowerbox列,允許客戶修改商品的數量,同時將“刪除列設為checkbox列,允許刪除所購置的鮮花。會員可以查看自己購物車里所購的商品,選擇繼續購置或刪除商品,然后提交訂單、確認訂單。5.6管理界面的設計商品管理管理員可以查看那商品信息,對商品添加,商品
5、信息修改及刪除過期商品。其樣式圖如圖5-5所示。訂單管理訂單管理頁可以查看已發貨訂單、未發貨訂單、未完成訂單及已完成訂單。完成訂單與否即判斷貨物是否發出,是否收到。發貨、收貨物與否都由管理員操作,隨時更新訂單信息。樣式圖如圖5-6所示。會員管理查看會員的詳細信息,如賬號、密碼、姓名、性別等,還可以刪除會員信息。公告管理對公告進行添加公告、修改,刪除過期公告等。并可以決定是否顯示在首頁,假設是較為重要的公告,那么將其顯示在首頁,以引起顧客的注意。購物車管理對已發貨或者沒有生成訂單的購物車進行及時管理去除,以減少數據庫的信息,使其訪問速度更高。管理員信息修改主要用于管理員修改自己的密碼。
6、; 圖5-5商品管理界面 圖5-6訂單管理界面6 代碼實現界面設計
7、是系統的外在表現,而功能那么由后臺代碼來實現。在代碼實現過程中,采用類的封裝,來實現對所有數據的操作。封裝的過程中,對所有的方法以靜態方式封裝,以保證在后續的使用中不用實例化,直接通過類來調用,以提高代碼的使用效率。基于Web的鮮花銷售系統的核心代碼主要是對商品的不同性質的操作,例如瀏覽商品、選擇商品、購置商品及為商品付款等操作。下面針對一些比擬難以理解的代碼給與適當的解釋,以便更清楚的了解系統的實現原理。6.1購物車類實現購物車是指當用戶在瀏覽商品的過程中,發現自己需要的商品后,夠通過操作將該商品放入其中。購物車針對不同身份的用戶進行不同的存儲。當用戶尚未登錄時,購物車中存儲的是該商品的普通
8、價格;當用戶登錄之后,進行添加操作的時候那么存儲的是會員價格的商品。在設計的過程中,采用一張名為ShoppingCart的表來存儲相關信息。該表的購物車編號數據類型為Varchar,在添加的時候利用System.GuidClass產生一組隨機GUID(全局唯一標識符)來標示的。這樣做的好處是能夠確保任何時候不同的用戶的購物車都是唯一標示的。然后在將該字符串保存在用戶機器的cookies中。購物車頁面的后臺支持類是ShoppingCartAccess.cs,它負責對頁面的事件進行處理。購物車分為兩種,一種是已經登錄過的用戶的購物車,在購物車編號中可以看到一個為具體數字的編號,購物車的ID等于用戶
9、ID另外一中是未登錄過的用戶的購物車,在購物車編號中可以看到一個字符串,該字符串保存在cookies,是利用System.GuidClass產生一個隨機GUID(全局唯一標識符),回寫到客戶端指定的cookies中,同時返回TempCartId作為購物車的編號。購物車頁面的后臺支持類是ShoppingCartAccess.cs,它負責對頁面的事件進行處理。首先,定義shopoingcart類,繼承了System.Web.UI.Page系統類:public partial class ShoppingCart : System.Web.UI.Page在頁面的Page_Load()事件中
10、,對datalist控件的數據綁定方法進行調用。代碼如下: 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訂單列表頁面實現訂單是在用戶選擇了需要的商品之后,在購物車頁面通過生成訂單操作進入訂單界面。當用戶填寫相關信息之后,點擊提交便生成了一份訂單。訂單頁面的后臺支持類是orderlist.aspx.cs,它負責對頁面的事件進行處理。在頁面的的Page_Load()事件中,首先判斷是否是已登陸的會員,如果已登陸那么獲取已經登錄的客戶的UserID,然后利用這個UserID的值調用類中的方法,返回指定的某一個訂單的詳細信息,并在控件上顯示。訂單列表頁面的后臺支持類是orderlist.aspx.cs,它負責對頁面的事件進行處理。首先定義orderlist類,繼承了System.Web.U
24、I.Page系統類。public partial class Submitmanag : System.Web.UI.Page在頁面的的page_load()事件中,首先利用ASP.Net內建的User對象的屬性,獲取已經登錄的客戶的UserID,然后利用這個UserID的值調用類中的方法,返回指定的某一個訂單的詳細信息,并在控件上顯示。代碼如下: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驗證碼的實現驗證碼負責對頁面的驗證輸入局部進行處理,只有當用戶輸入與系統顯示的驗證圖片上的字符后,才能正確登錄到系統相關頁面,如會員登錄和管理員登錄。它繼承了System.Web.UI.Page系統類。public partial class CheckCode : System.Web.UI.Page在頁面的事件中,調用了GenerateCheckCod
35、e()方法 protected void Page_Load(object sender, EventArgs e) CreateCheckCodeImage(GenerateCheckCode(); 在驗證碼的獲取中,其主要代碼如下: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; / 創立驗證碼圖片,并將其寫入內存流中 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; /生成隨機生成器 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); /畫圖片的前景噪音點
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 軟件測試軟件測試就是在軟件投入運行前,對軟件需求分析、設計規格說明和編碼的最終復審,是軟件質量保證的關鍵步驟。任何軟件都有缺陷,這些缺陷,可能是以下幾個方面造成的: 1交流不夠、交流上有誤解或者根本不進行交流 2軟件復雜性 &
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 市場營銷在職工作證明(7篇)
- 月收入與獎金津貼明細證明書(6篇)
- 商業合作伙伴資信證明書(5篇)
- 市場需求導向下的農民素質提升路徑
- 世界歷史冷戰時期事件考察試題集
- 促進教師專業發展提升美育教學質量的策略
- 汽車零部件供應協議
- 食品原料采購安全合同書
- 2025年藝術設計專業考試試題及答案回顧
- 2025年網絡信息安全與技術防范的實務能力考試試卷及答案
- GA/T 2158-2024法庭科學資金數據獲取規程
- DB11-T 1076-2023 居住建筑裝飾裝修工程質量驗收標準
- 《胸心外科手術的麻醉》課件
- 宗教考試試題及答案
- 2025年茶葉加工工職業技能競賽參考試題庫500題(含答案)
- 商場專柜撤柜協議書
- 耳穴治療學試題及答案
- 2024版壓力容器設計審核機考題庫-簡答題3-1
- 2025中考語文常考作文押題(10大主題+10篇范文)
- 施工現場腳手架搭設的示例圖解
- 2024年甘肅蘭州中考滿分作文《向內扎根向陽而生》
評論
0/150
提交評論