- ASP.NET項目開發全程實錄(第4版)
- 明日科技
- 1437字
- 2019-12-06 12:04:47
2.9 銷售訂單管理模塊設計
2.9.1 銷售訂單管理模塊概述
銷售訂單管理也是51電子商城網站開發的一個重要環節,當用戶購買完自己所需商品放入購物車后就要去網上服務臺填寫商品訂單,對所購買的商品進行結算,所以對用戶的銷售訂單管理非常重要。
在網站后臺的銷售訂單管理模塊中,管理員單擊菜單欄中“訂單管理”下的“未確認”“已確認”“未發貨”“已發貨”“未歸檔”或“已歸檔”任一個按鈕,都會在功能執行區中打開如圖2.31所示的訂單管理頁面。在該頁面中,管理員可以根據實際需要查詢、瀏覽和刪除訂單信息。

圖2.31 訂單管理頁面
另外,在該訂單管理模塊中對“未確認”“已確認”“未發貨”“已發貨”“未歸檔”和“已歸檔”所涉及的商品信息都可以打印出來。
當用戶單擊圖2.31所示頁面中的“管理”鏈接按鈕時,將會在功能執行區中打開如圖2.32所示的訂單信息頁面,用戶可以在該頁面中查詢某一訂單的詳細信息,并且可以對訂單狀態信息進行修改。

圖2.32 訂單信息頁面
2.9.2 銷售訂單管理模塊技術分析
要給用戶一個訂單憑證,就要把用戶訂單打印出來。在銷售訂單管理模塊中應用了打印技術,下面進行介紹。
在圖2.32中當用戶單擊“打印”按鈕后,將會對訂單進行打印,同時隱藏“打印”按鈕。實現該功能的具體步驟如下:
(1)將頁面切換到HTML源碼中,設置“打印”按鈕的onclick事件為printPage(),并將“打印”按鈕置于id為printOrder的<span></span>節中。其源代碼如下:
<div class="col-sm-6 col-md-6"><input type="button" onclick='printOrder(<%=Request.QueryString["OrderID"]%>)' value="打 印" id="Button1"></div>
(2)在<head></head>節中,使用JavaScript語言,編寫如下代碼,實現當用戶單擊“打印”按鈕時,隱藏“打印”按鈕并對訂單進行打印。
例程35 代碼位置:資源包\TM\02\B2C\B2C\Manage\OrderPrint.aspx

2.9.3 銷售訂單管理模塊實現過程
本模塊使用的數據表:tb_Admin、tb_OrderInfo、tb_Detail
1. 設計步驟
(1)在該網站中的Manage文件夾下創建一個Web窗體,將其命名為OrderList.aspx。
(2)通過使用bootstrap+div為整個頁面布局。從“工具箱”選項卡中拖放兩個TextBox控件、3個DropDownList控件、一個Label控件、一個Button控件和一個GridView控件。TextBox控件、Label控件、Button控件和GridView控件的屬性設置及用途如表2.7所示。
表2.7 TextBox控件、Label控件、Button控件和GridView控件的屬性設置及用途

2. 代碼實現
在后臺代碼頁(OrderList.aspx.cs)中編寫代碼前,首先需要定義CommonClass類對象、DBClass類對象和OrderClass類對象,以便在編寫代碼時,調用該類中的方法。代碼如下:
例程36 代碼位置:資源包\TM\02\B2C\B2C\Manage\OrderList.aspx.cs
CommonClass ccObj = new CommonClass(); DBClass dbObj = new DBClass(); OrderClass ocObj = new OrderClass();
在Page_Load事件中,調用自定義方法pageBind,分類顯示訂單信息。代碼如下:
例程37 代碼位置:資源包\TM\02\B2C\B2C\Manage\OrderList.aspx.cs

自定義方法pageBind,首先從商品訂單表(tb_OrderInfo)中獲取訂單信息,然后將獲取的訂單信息綁定到GridView控件中。代碼如下:
例程38 代碼位置:資源包\TM\02\B2C\B2C\Manage\OrderList.aspx.cs

當用戶輸入關鍵信息后,單擊“搜索”按鈕,將會觸發該按鈕的Click事件。在該事件下,調用自定義方法gvSearchBind綁定查詢后的訂單信息。代碼如下:
例程39 代碼位置:資源包\TM\02\B2C\B2C\Manage\OrderList.aspx.cs

自定義方法gvSearchBind,首先獲取查詢條件,然后調用OrderClass類的ExactOrderSearch方法,查詢符合條件的商品信息,并將其綁定到GridView控件上。代碼如下:
例程40 代碼位置:資源包\TM\02\B2C\B2C\Manage\OrderList.aspx.cs

在GridView控件的RowDeleting事件下,編寫如下代碼,實現當用戶單擊某個訂單后的“刪除”按鈕時,首先判斷該訂單是否被確認或歸檔,如果沒有被確認(說明購物用戶不存在)或已歸檔(說明貨物已被用戶驗收),則將該訂單從商品訂單表中刪除。
例程41 代碼位置:資源包\TM\02\B2C\B2C\Manage\OrderList.aspx.cs

為GridView控件的“訂單狀態”和“管理”兩個數據列綁定數據項,主要應用DataBinder.Eval方法進行頁面綁定。將頁面切換到HTML源碼中,編寫如下加粗的代碼:
例程42 代碼位置:資源包\TM\02\B2C\B2C\Manage\OrderList.aspx

代碼貼士
?綁定訂單號,并通過后臺代碼中的公共方法GetAdminName獲取跟單員名。
?綁定下單時間,并將其轉化為長日期型。
?綁定訂單號,并通過后臺代碼中的公共方法GetStatus獲取跟單員。
?當用戶單擊“管理”按鈕后,跳轉到“訂單修改”頁,并傳遞訂單號。