基于ASP NET網(wǎng)上書城
《基于ASP NET網(wǎng)上書城》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于ASP NET網(wǎng)上書城(32頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 《ASP.NET 編程技術(shù)課程設(shè)計(jì)》報(bào)告 系(院): 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí): 學(xué)生姓名: 學(xué)號(hào): 題目: 基于ASP.NET網(wǎng)上書城 指導(dǎo)教師: 學(xué)年學(xué)期: 2014 ~ 2015 學(xué)年 第 1 學(xué)期 2015 年 1 月 7 日 目 錄 目錄 2 1. 需求分析 1 1.1 學(xué)生需求分析 1 1.2 管理員需求分析 1 2. 數(shù)據(jù)庫(kù)、
2、數(shù)據(jù)表設(shè)計(jì) 1 2.1 創(chuàng)建數(shù)據(jù)庫(kù) 2 2.2 數(shù)據(jù)庫(kù)集成操作類BaseClass.cs代碼 3 3. 數(shù)據(jù)庫(kù)、數(shù)據(jù)表設(shè)計(jì) 6 3.1 系統(tǒng)框架 6 3.2 母版頁(yè) 7 3.3 書城前臺(tái)首頁(yè) 10 3.4 后臺(tái)管理頁(yè)面 18 3.5 用戶注冊(cè)界面 24 4. 使用到的技術(shù) 27 4.1 后臺(tái) 27 4.2 前臺(tái) 27 5. 測(cè)試 27 6. 總 結(jié) 28 6.1 整體頁(yè)面布局框架 28 6.2 母版頁(yè)內(nèi)容 28 6.3 項(xiàng)目中遇到的問(wèn)題 28 《ASP..NET編程技術(shù)課程設(shè)計(jì)報(bào)告》 1. 需求分析 1.1 學(xué)生需求分析
3、 1、新客戶注冊(cè):普通用戶必須先注冊(cè),才能進(jìn)行圖書的查詢、瀏覽、定購(gòu)、信息反饋等操作。用戶需要注冊(cè),并且要得到系統(tǒng)管理的審批和確認(rèn),主要功能是對(duì)用戶個(gè)人基本信息的管理。 2、書籍分類搜索:用戶可根據(jù)對(duì)書籍的分類瀏覽和輸入關(guān)鍵字進(jìn)行本站包含書籍的查找瀏覽。 3、新書籍上架:把本站最近入庫(kù)的書籍顯示出來(lái)方便客戶知道本站書籍的更新。 4、實(shí)現(xiàn)購(gòu)物車功能模塊:實(shí)時(shí)顯示用戶當(dāng)前所購(gòu)書目,可以增加或刪除。 5、前臺(tái)頁(yè)面管理:注冊(cè)會(huì)員對(duì)自己資料的修改,賬戶的管理 1.2 管理員需求分析 1、管理員注冊(cè):網(wǎng)站管理人員注冊(cè),實(shí)現(xiàn)對(duì)系統(tǒng)后臺(tái)的管理,對(duì)系統(tǒng)所有信息的控制。還需要對(duì)系統(tǒng)進(jìn)行維護(hù),同時(shí)還對(duì)
4、圖書信息進(jìn)行管理。 2、訂單添加/刪除/修改管理功能:對(duì)于用戶提交的訂單進(jìn)行審核,并實(shí)現(xiàn)對(duì)訂單的添加/刪除/修改管理。 3、書籍信息管理:這主要分為出版社管理,類別設(shè)置和分類管理。其中,出版社管理可以增加或修改刪除相關(guān)信息,請(qǐng)確保此處信息的真實(shí)性;類別設(shè)置可對(duì)書目類別進(jìn)行相應(yīng)的操作(增加,刪除,修改);分類管理可以對(duì)相關(guān)圖書進(jìn)行分類操作(注:此操作可以在圖書入庫(kù)的時(shí)候進(jìn)行選擇) 2. 數(shù)據(jù)庫(kù)、數(shù)據(jù)表設(shè)計(jì) 因?yàn)轭A(yù)計(jì)網(wǎng)上書城的查詢操作會(huì)比修改操作多,故在設(shè)計(jì)數(shù)據(jù)庫(kù)是大部分表采用了3NF,這樣在查詢時(shí)會(huì)比較方便。我初期設(shè)計(jì)了6個(gè)表,以滿足系統(tǒng)的基本需求,在后期的系統(tǒng)實(shí)現(xiàn)過(guò)程中,根據(jù)需要添加
5、或修改相應(yīng)表。6個(gè)表分別是admin,books,order_num,orders,stock,users。 2.1 創(chuàng)建數(shù)據(jù)庫(kù) 圖1 數(shù)據(jù)庫(kù)表 圖2 admin表 圖3 books 圖書信息表 圖3 orders訂單表 圖4 stock 庫(kù)存表 圖5 users用戶信息表 2.2 數(shù)據(jù)庫(kù)集成操作類BaseClass.cs代碼 對(duì)數(shù)據(jù)庫(kù)的增刪改查操作全部集成在這個(gè)類中,所以避免了在每個(gè)頁(yè)面的后臺(tái)代碼中每次都要連接數(shù)據(jù)庫(kù),打開(kāi)數(shù)據(jù)庫(kù),關(guān)閉數(shù)據(jù)庫(kù)。 C#: using System; using System.Data;
6、using System.Configuration; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Data.SqlClient; namespace dbo.
7、sql { public class BaseClass:System.Web.UI.Page { String strConn; public BaseClass() { strConn = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; } //ReadTable方法:從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù),并返回一個(gè)DataTable對(duì)象 pub
8、lic DataTable ReadTable(String strSql) { DataTable dt = new DataTable(); SqlConnection con = new SqlConnection(strConn); con.Open(); SqlDataAdapter cmd = new SqlDataAdapter(strSql, con); cmd.Fill(dt); con.Close();
9、 return dt; } //ReadDataSet方法:從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù),并返回一個(gè)DataSet對(duì)象 public DataSet ReadDataSet(String strSql) { DataSet ds = new DataSet(); SqlConnection con = new SqlConnection(strConn); con.Open(); SqlDataAda
10、pter cmd = new SqlDataAdapter(strSql, con); cmd.Fill(ds); con.Close(); return ds; } //GetDataSet方法:和ReadDataSet幾乎完全相同,只是多了一個(gè)tableName參數(shù) public DataSet GetDataSet(String strSql, String tableName) { DataSet ds =
11、new DataSet(); SqlConnection con = new SqlConnection(strConn); con.Open(); SqlDataAdapter cmd = new SqlDataAdapter(strSql, con); cmd.Fill(ds, tableName); con.Close(); return ds; } //readrow方法:執(zhí)行SQL查詢,并返
12、回一個(gè)Reader對(duì)象 public SqlDataReader readrow(String sql) { SqlConnection con = new SqlConnection(strConn); con.Open(); SqlCommand com = new SqlCommand(sql, con); SqlDataReader reader = com.ExecuteReader(); if (reader.Read
13、()) { com.Dispose(); return reader; } else { com.Dispose(); return null; } } //Readstr方法:返回查詢結(jié)果第一行某一個(gè)字段的值 public string Readstr(String str
14、Sql, int flag) { DataSet ds = new DataSet(); String str; SqlConnection con = new SqlConnection(strConn); con.Open(); SqlDataAdapter cmd = new SqlDataAdapter(strSql, con); cmd.Fill(ds); str = ds.Tables
15、[0].Rows[0].ItemArray[flag].ToString(); con.Close(); return str; } //execsql方法:用來(lái)執(zhí)行SQL更新語(yǔ)句 public Boolean execsql(String strSql) { SqlConnection con = new SqlConnection(strConn); SqlCommand com = new SqlCommand
16、(strSql, con); con.Open(); int count = com.ExecuteNonQuery(); if (count > 0) { con.Close(); return true; } else { con.Close(); return false;
17、 } } } } 3. 數(shù)據(jù)庫(kù)、數(shù)據(jù)表設(shè)計(jì) 母版頁(yè) 顧客 管理員 登錄 瀏覽圖書 查找圖書 購(gòu)買圖書 查看購(gòu)物車 查看個(gè)人資料 登錄 會(huì)員管理 書籍管理 添加書籍 訂單管理 管理員 3.1 系統(tǒng)框架 圖3-1 系統(tǒng)框架 3.2 母版頁(yè) 3.2.1 主要代碼 HTML: <%@ Master Language="C#" AutoEventWireup="true" CodeBeh
18、ind="masterpage.master.cs" Inherits="網(wǎng)上書城.masterpage" %>
20、=" width:100%; position:fixed; text-align:center; top:150px;">
22、ass="logo" ImageUrl="~/image/logo.gif" runat="server" />
歡迎來(lái)到小木屋網(wǎng)上書城
29、em.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; namespace 網(wǎng)上書城 { public partial class masterpage : System
30、.Web.UI.MasterPage { protected void Page_Load(object sender, EventArgs e) { Label1.Text = DateTime.Now.ToString("yyy年MM月dd日 tt hh:mm:ss"); } protected void Timer1_Tick(object sender, EventArgs e) { Label1.Text = DateTime
31、.Now.ToString("yyy年MM月dd日 tt hh:mm:ss"); } } } 3.2.2 部分功能 設(shè)置一個(gè)header盒子,用來(lái)顯示書店的logo;一個(gè)menu盒子,用來(lái)顯示書店的導(dǎo)航條;一個(gè)main盒子,用來(lái)顯示主體部分;一個(gè)Footer盒子,用來(lái)顯示書城的版權(quán)信息。 3.2.3 截圖 圖3-2母版頁(yè) 3.3 書城前臺(tái)首頁(yè) 3.3.1 主要代碼 HTML: <%@ Page Language="C#" MasterPageFile="~/masterpage.Master" AutoEventWireup
32、="true" CodeBehind="Default.aspx.cs" Inherits="網(wǎng)上書城.Default" Title="無(wú)標(biāo)題頁(yè)" %>
36、l ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
37、 38、 45、D="regist_button" AlternateText="注冊(cè)" ImageUrl="~/image/user_regist.gif"
runat="server" onclick="regist_button_Click" />
46、 51、"text-align:center; color:#FFF;">
52、 55、 runat="server">
56、
用戶登錄
用戶名:
密 碼:
* 查看個(gè)人資料
* 去我的購(gòu)物車
* 更改密碼
57、sing System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Xml.Linq; using dbo.sql; namespace 網(wǎng)上書城 { public partial class Default : System.Web.UI.Page { BaseClass baseclass = new BaseClass(); protected void Page_Load(object sender, Even
58、tArgs e) { (Master.FindControl("ScriptManager1") as ScriptManager).RegisterAsyncPostBackControl(LinkButton1); this.Title = "小木屋網(wǎng)上書城"; if (Session["username"] != null) { welcome.Text = "歡迎您:"
59、 + Session["username"].ToString() + ""; userlogin.Visible = false; login_success.Visible = true; } if (!Page.IsPostBack) { get_picture(); } } protected vo
60、id login_button_Click(object sender, ImageClickEventArgs e) { string pass = FormsAuthentication.HashPasswordForStoringInConfigFile(password.Text, "MD5"); string strsql = "select * from users where username = '"+ username.Text +"' and password = '"+ pass +"'";
61、 DataSet ds = new DataSet(); ds = baseclass.GetDataSet(strsql, "username"); try { if (ds.Tables["username"].Rows.Count == 0) { Label2.Text = "用戶名不存在或密碼錯(cuò)誤,請(qǐng)確認(rèn)后登錄!"; Session["usern
62、ame"] = null; } else { welcome.Text = "歡迎您:" + ds.Tables["username"].Rows[0]["username"].ToString() + ""; Session["username"] = ds.Tables["username"].Rows[0]["username"].ToS
63、tring(); userlogin.Visible = false; login_success.Visible = true; } } catch (Exception ex) { Label2.Text = ex.Message; } } protected void regist_button_
64、Click(object sender, ImageClickEventArgs e) { Response.Redirect("user_regist.aspx"); } protected void LinkButton1_Click(object sender, EventArgs e) { Session["username"] = null; UpdatePanel1.Update(); userlogin
65、.Visible = true; login_success.Visible = false; } protected void forgetpass_Click(object sender, EventArgs e) { Response.Redirect("forgetpass.aspx?username=" + username.Text); } private void get_picture() {
66、 string strsql = "select top 10 * from books order by book_id desc"; DataTable dt = baseclass.ReadTable(strsql); PagedDataSource objpd = new PagedDataSource(); objpd.DataSource = dt.DefaultView; objpd.AllowPaging = false; Repeater1.DataSource = objpd; Repeater1.DataBind(); } } } 3.3.2 部分功能 首頁(yè)有登錄模塊,有新書推薦模塊,有書城最新圖書圖片動(dòng)態(tài)展示模塊。 3.3.3 截圖 圖3-3用戶登錄 圖3-4 新書推薦 圖3-5 圖書瀏覽
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 初中語(yǔ)文作文素材:30篇文學(xué)名著開(kāi)場(chǎng)白
- 初中語(yǔ)文答題技巧:現(xiàn)代文閱讀-說(shuō)明文閱讀知識(shí)點(diǎn)總結(jié)
- 初中語(yǔ)文作文十大常考話題+素材
- 初中語(yǔ)文作文素材:描寫冬天的好詞、好句、好段總結(jié)
- 初中語(yǔ)文必考名著總結(jié)
- 初中語(yǔ)文作文常見(jiàn)主題總結(jié)
- 初中語(yǔ)文考試??济偨Y(jié)
- 初中語(yǔ)文必考50篇古詩(shī)文默寫
- 初中語(yǔ)文易錯(cuò)易混詞總結(jié)
- 初中語(yǔ)文228條文學(xué)常識(shí)
- 初中語(yǔ)文作文素材:30組可以用古詩(shī)詞當(dāng)作文標(biāo)題
- 初中語(yǔ)文古代文化常識(shí)七大類別總結(jié)
- 初中語(yǔ)文作文素材:100個(gè)文藝韻味小短句
- 初中語(yǔ)文閱讀理解33套答題公式
- 初中語(yǔ)文228條文學(xué)常識(shí)總結(jié)