Cty Cổ phần Thƣơng Mại Dịch vụ sách ABC số cơng ty Thƣơng mại điện tử Việt Nam bắt đầu với Website www.abc.com từ tháng 12/2005.
Tương tự dùng thẻ p kết hợp thẻ b font với thuộc tính color để tạo đoạn “Nguyên tắc hoạt động” “Định hướng kinh doanh:NGUYÊN TẮC HOẠT ĐỘNG
ĐỊNH HƢỚNG KINH DOANH
Dùng thẻ ul ol để tạo danh sách:- Tuyệt đối tôn trọng quyền luật xuất bản
- Cam kết tạo sách có chất lƣợng, có giá trị, ln bắt kịp xu thời đại
- Lấy độc giả làm trung tâm
- Gia tăng lợi ích cho đối tác
- Khơi dậy phát huy khả sáng tạo cá nhân
- Mua quyền, dịch xuất ấn phẩm từ tiếng nƣớc tiếng Việt ngƣợc lại với tủ sách:
- V- Biz: Những sách cung cấp cách tƣ duy, kinh nghiệm, kĩ mang tính ứng dụng cao cho nhà lãnh đạo, ngƣời hoạt động lĩnh vực kinh doanh, nhân viên công sở,…
- V-Buddism: Tủ sách Phật pháp ứng dụng Thaihabooks nhận đƣợc quan tâm, tin tƣởng Phật tử bạn đọc Các sách mang lại triết lý sâu sắc nhà Phật nhƣng gắn liên với sống hàng ngày, giúp ngƣời sống hạnh phúc có ý nghĩa hơn.
- V-Parents: Những sách giúp bậc cha mẹ nuôi dạy tốt hơn, thấu hiểu dựa tƣ vấn chuyên gia hàng đầu Việt Nam giới.
- V-Teen: Những sách giúp tháo gỡ vƣớng mắc, khơi dậy tiềm năng, định hƣớng nghề nghiệp cho tuổi lớn.
- V-Smile: Bao gồm sách chủ đề văn hoá, văn học, giáo dục, lịch sử, du ký… làm phong phú thêm đời sống tinh thần, bổ sung kiến thức chuyên sâu nhiều lĩnh vực sống cho bạn đọc
- Cung cấp dịch vụ liên quan đến quyền xuất bản lbEmail.Text = dt.Rows[0][4].ToString(); } } if (Session["Giohang"] != null) { DataTable dt = new DataTable(); dt = (DataTable)Session["GioHang"]; System.Decimal tongThanhTien = 0; foreach (DataRow r in dt.Rows) { r["ThanhTien"] = Convert.ToInt32(r["SoLuong"]) * Convert.ToDecimal(r["DonGia"]); tongThanhTien += Convert.ToDecimal(r["ThanhTien"]); lbTongTien.Text = tongThanhTien.ToString(); } gvGioHang.DataSource = dt; gvGioHang.DataBind(); } if (!IsPostBack) { cldNgayGiaoHang.SelectedDate = DateTime.Today; } Sự kiện click nút Đồng ý (Lưu thông tin đơn hàng vào Table DonDatHang sản phẩm Table CTDatHang): int httt, htgh; string TenNguoiNhan, DiaChiNhan, DienThoaiNhan; TenNguoiNhan = txtTenNguoiNhan.Text; DiaChiNhan = txtDiaChiNhan.Text; DienThoaiNhan = txtDienThoaiNhan.Text; float tongThanhTien = float.Parse(lbTongTien.Text); httt = Convert.ToInt32(rblHinhThucThanhToan.SelectedItem.Value); htgh = Convert.ToInt32(rblHinhThucGiaoHang.SelectedItem.Value); try { SqlConnection = new SqlConnection(XLDL.strCon); con.Open(); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.Text; cmd.Connection = con; 87 /* Lưu thông tin vào Table DONDATHANG */ cmd.CommandText = @"INSERT INTO DONDATHANG(MaKH,NgayDH,TriGia,NgayGiaoHang,TenNguoiNhan,DiaChiNhan, DienThoaiNhan,HTThanhToan,HTGiaoHang) Values(" + MaKH + ",@ngaydathang," + tongThanhTien + ",@ngaygiaohang,'" + TenNguoiNhan + "','" + DiaChiNhan + "','" + DienThoaiNhan + "'," + httt + "," + htgh + ")"; cmd.Parameters.Add("@ngaydathang", SqlDbType.SmallDateTime); cmd.Parameters["@ngaydathang"].Value = DateTime.Today; cmd.Parameters.Add("@ngaygiaohang", SqlDbType.SmallDateTime); cmd.Parameters["@ngaygiaohang"].Value = cldNgayGiaoHang.SelectedDate; cmd.ExecuteNonQuery(); con.Close(); /* Lấy mã đơn hàng vừa lưu vào Table DONDATHANG */ string s = "Select max(SoDH) from DONDATHANG Where MaKH=" + MaKH; int SoDonHang = int.Parse(XLDL.GetData(s).Rows[0][0].ToString()); DataTable dt = new DataTable(); dt = (DataTable)Session["Giohang"]; int MaSach, SoLuong; float DonGia; /* Lưu sản phẩm vào Table CTDATHANG */ for (int i = 0; i < dt.Rows.Count; i++) { MaSach = int.Parse(dt.Rows[i]["MaSach"].ToString()); SoLuong = int.Parse(dt.Rows[i]["SoLuong"].ToString()); DonGia = float.Parse(dt.Rows[i]["DonGia"].ToString()); s = "INSERT INTO CTDATHANG(SoDH,MaSach,SoLuong,DonGia) VALUES(" + SoDonHang + "," + MaSach + "," + SoLuong + "," + DonGia + ")"; XLDL.Execute(s); } /* Xóa giỏ hàng sau thực xong đặt hàng */ Session["Giohang"] = null; /* Sau đặt hàng chuyển tới trang Xác nhận đơn hàng*/ Response.Redirect("~/Xacnhandonhang.aspx"); } catch { lbThongBaoLoi.Text = "Lỗi trình cập nhật liệu!"; 88 } Trang Xacnhandonhang.aspx cầu: Xác nhận đơn đặt hàng đặt thành công kết thúc (liên kết Về trang chủ (Default.aspx)) Có kiểm tra chưa đăng nhập trang Dangnhap.aspx ướng dẫn: Tạo HyperLink để liên kết trang chủ (Default.aspx) Xử lý code kiện PageLoad: if (Session["TenDN"] == null) Response.Redirect("~/Dangnhap.aspx"); ài tập Xây dựng trang quản trị Tạo thư mục Admin (lưu trang phần quản trị), thư mục tạo thư mục UC (lưu user control), Style (lưu file css định dạng trang) Tạo user control ucAdminHeader.ascx Tạo user control ucAdminLeft.ascx 89 Tạo trang AdminMasterPage.master ucAdminHeader ContentPlaceHolder ucAdminLeft ucFooter Trang chủ Admin.aspx 90 cầu: Sử dụng giao diện trang AdminMasterPage.master Khi vào trang này, chưa đăng nhập với chức quản trị yêu cầu phải đăng nhập trước (chuyển qua trang DangnhapAdmin.aspx) Trang DangnhapAdmin.aspx cầu: Nếu đăng nhập thành công (thông tin đăng nhập có table Admin) chuyển qua trang Admin.aspx Trang Nhaxuatban.aspx 91 cầu: Khi vào trang chưa đăng nhập với chức admin chuyển qua trang DangnhapAdmin.aspx Tạo liên kết đến trang thêm nhà xuất (Thêm (ThemNXB.aspx)) Tạo nút xóa cho hàng GridView để xóa thơng tin hàng tương ứng CSDL (có kiểm tra ràng buộc liệu) Tạo nút sửa để chuyển hàng tương ứng sang chế độ chỉnh sửa cho phép lưu thông tin vào CSDL Trạng thái hàng sau chọn nút sửa: ướng dẫn: Tạo trang Nhaxuatban.aspx kế thừa trang AdminMasterPage Một HyperLink liên kết tới trang ThemNXB.aspx Một GridView (gvNhaXuatBan) gồm cột: Bốn BoundField: Mã nhà xuất bản, tên nhà xuất bản, địa chỉ, điện thoại 92 Một ButtonField: Xóa (thuộc tính ButtonType="Image", sử dụng file hình Delete.jpg làm nền, thuộc tính CommandName="Xoa") Một CommandField: Sửa (thuộc tính: ButtonType="Link", CancelText="Hủy", EditText="Sửa", UpdateText="Lưu") Thuộc tính DataKeyNames: MaNXB Một Label: lbBaoLoi Xử lý code: Sử dụng phương thức GetData lớp XLDL để lấy liệu hiển thị lên lưới Nút Xóa GridView (lệnh cho kiện click nút Xóa viết kiện RowCommand GridView): if (e.CommandName == "Xoa") { try { int chiso = int.Parse(e.CommandArgument.ToString()); int ma = int.Parse(gvNhaXuatBan.Rows[chiso].Cells[0].Text); DataTable dt = XLDL.GetData("Select Masach FROM Sach WHERE MaNXB=" + ma + ""); if (dt.Rows.Count > 0) lbBaoLoi.Text = "Nhà xuất xuất sách nên khơng thể xóa. Bạn cần xóa hết tất sách nhà xuất trƣớc!"; 93 else { string str = "DELETE from NHAXUATBAN where MaNXB=" + ma; XLDL.Execute(str); Response.Redirect("~/Admin/Nhaxuatban.aspx"); } } catch { lbBaoLoi.Text = "Thất bại!"; } } Nút Sửa GridView: Khi click nút Sửa hàng tương ứng chuyển sang trạng thái cho nhập thông tin, nút Sửa chuyển thành hai nút Lưu Hủy Viết lệnh cho nút tương ứng: Nút Sửa (RowEditing): gvNhaXuatBan.EditIndex = e.NewEditIndex; /*Chuyển hàng sang trạng thái cho sửa*/ CapNhatNXB(); /*Phương thức lấy liệu hiển thị lên lưới*/ Nút Lưu (RowUpdating): int MaNXB = int.Parse(gvNhaXuatBan.DataKeys[e.RowIndex].Value.ToString()); string TenNXB = (gvNhaXuatBan.Rows[e.RowIndex].Cells[1].Controls[0] as TextBox).Text; string DiaChi = (gvNhaXuatBan.Rows[e.RowIndex].Cells[2].Controls[0] as TextBox).Text; string DienThoai = (gvNhaXuatBan.Rows[e.RowIndex].Cells[3].Controls[0] as TextBox).Text; if (TenNXB == "") { Response.Write("alert('Tên không đƣợc rỗng')"); } else { XLDL.Execute(@"UPDATE NHAXUATBAN set TenNXB=N'" + TenNXB + "',DiaChi=N'" + DiaChi + "',DienThoai='" + DienThoai + "' WHERE MaNXB='" + MaNXB + "'"); 94 gvNhaXuatBan.EditIndex = -1; /*Chuyển hàng sang trạng thái thường*/ CapNhatNXB(); } Nút Hủy (RowCancelingEdit): gvNhaXuatBan.EditIndex = -1; CapNhatNXB(); Trang ThemNXB.aspx cầu: Cho phép lưu thông tin vào table Nhaxuatban có kiểm tra thơng tin nhập vào phải khác rỗng Trang Sach.aspx 95 cầu: Chọn thêm tới trang Themsach.aspx Thực phân trang GridView hiển thị 10 sách trang Cột Ngày cập nhật hiển thị ngày theo định dạng dd/mm/yyyy Click nút xóa xóa sách tương ứng Click nút sửa hiển thị thông tin sách tương ứng trang Suasach.aspx ướng dẫn: Tạo trang Sach.aspx kế thừa trang AdminMasterPage Quá trình thiết kế trang tương tự trang Nhaxuatban.aspx Ở cột Ngày cập nhật thiết lập thuộc tính định dạng DataFormatString= {0:dd/MM/yyyy} Cột Sửa sử dụng TemplateField, chèn vào Template HyperLink thiết lập thuộc tính NavigateUrl "~/Admin/Suasach.aspx?Ma="+Eval("MaSach") 96 Thiết lập thuộc tính cho phép phân trang với số lượng 10 item trang: AllowPaging=True, PageSize=10 kiện PageIndexChanging GridView sau: gvSach.PageIndex = e.NewPageIndex; gvSach.DataBind(); Viết code để hiển thị thơng tin sách lên GridView nút Xóa Trang Themsach.aspx 97 cầu: Tạo Textbox cho phép nhập tên sách, đơn vị tính, đơn giá, số lượng, số lần xem Chèn ckEditor để nhập mô tả sách FileUpload để chọn hình cho sách Hai DropDownList để hiển thị thông tin chủ đề sách nhà xuất Nút lưu để lưu thông tin vào CSDL ướng dẫn: Tạo trang Themsach.aspx kế thừa trang AdminMasterPage Chèn ckEditor để nhập mô tả sách (thực theo hướng dẫn file hướng dẫn sử dụng ckEditor (có tài nguyên thực hành)) Lấy liệu bảng Chude Nhaxuatban để hiển thị lên DropDownList: /*Lấy chủ đề*/ DataTable dt=XLDL.GetData("select MaCD, TenChuDe from Chude"); if (dt.Rows.Count>0) { for (int i = 0; i < dt.Rows.Count; i++) { ddlMaChuDe.Items.Add("i"); ddlMaChuDe.Items[i].Text = dt.Rows[i][0].ToString() + ": " + dt.Rows[i][1].ToString(); 98 ddlMaChuDe.Items[i].Value = dt.Rows[i][0].ToString(); } } /* Lấy nhà xuất (tương tự lấy chủ đề)*/ Xử lý code nút Lưu: Dùng câu lệnh Insert với tham số lấy giá trị từ control tương ứng để lưu vào table Sach Trang Suasach.aspx 99 cầu: Khi click nút Sửa trang Sach.aspx mở trang hiển thị thông tin sách tương ứng lên trang Click nút Lưu lưu thông tin sách sau sửa vào CSDL ướng dẫn: Tạo trang Suasach.aspx kế thừa trang AdminMasterPage Thiết kế trang tương tự trang Themsach.aspx Riêng hai DropDownList thay hai Textbox Lấy tham số truyền từ trang Sach.aspx thực truy vấn lấy sách có mã tương ứng hiển thị lên control Xử lý code nút Lưu: Dùng câu lệnh Update với tham số lấy giá trị từ control tương ứng để cập nhật vào table Sach (Sinh viên tự thiết kế chức tương ứng như: Cập nhật nhân viên, cập nhật nhà xuất bản, cập nhật tác giả, cập nhật khách hàng; Xử lý đơn hàng; …) 4.4 ài tập áp dụng Thiết kế CSDL cho chủ đề chọn phần 1.4 (Chương 1) Chuyển đổi trang tương ứng thiết kế phần Bài tập áp dụng (ở chương 1, 2, 3) sang ASP.NET hoàn thiện thành Website hoàn chỉnh (Phần tập áp dụng sinh viên hoàn thiện làm báo cáo để nộp làm đồ án môn học) 100 TÀI LIỆU T M K ẢO Tiếng Việt: [1] Nguyễn Quang Hải (2014), Nhập môn HTML CSS, NXB Giáo Dục [2] Trường Đại học FPT (sách dịch, 2015), HTML5 CSS3: Thiết kế trang Web thích ứng giàu tính năng, NXB Bách khoa Hà Nội [3] Trường Đại học FPT (sách dịch, 2015), JavaScript - Hướng dẫn học qua ví dụ, NXB Bách khoa Hà Nội Tiếng nh: [4] Paul Wilton, Jeremy McPeak (2010), Beginning JavaScript®Fourth Edition, Wrox [5] Alex Mackey (2010), Introducing NET 4.0 With Visual Studio 2010 [6] Bill Evjen, Scott HanSelman, Devin Rader (2010), Professional ASP.NET in C# and VB, Wrox [7] Paul Deitel, Harvey Deitel (2011), C# 2010 for programmers fourth edition [8] WallPearl Simple (2008), CSS Standard Edition, WallPearl’sBlog [9] Stephen Walther (2008), ASP.NET 3.5 Unleashed, Sams Publishing 101 ... dụng 100 TÀI LIỆU T M K ẢO 101 IỚI T IỆU Chúng biên soạn tài liệu hướng dẫn thực hành học phần Thiết kế Lập trình Web với mục đích: Cung cấp nguồn tài liệu hỗ trợ giảng... thiện website Mỗi phần tập theo trình tự từ thiết kế trang tổng thể tới trang chi tiết Giúp sinh viên nắm quy trình thiết kế lập trình Website ngơn ngữ ASP.NET Trong phạm vi hạn hẹp tài liệu đề... 1.3 Bài tập thực hành Bài tập Thiết kế trang Gioithieu.html Bài tập Thiết kế trang Left.html 10 Bài tập Thiết kế trang Sanpham.html 11 Bài tập Thiết kế trang