Professional Documents
Culture Documents
Huongdanlambt 519ab
Huongdanlambt 519ab
NET
1. Tạo thư mục
Tạo một thư mục mang tên mình ở ổ D (Tên TM không chứa dấu cách hay
ký tự đặc biệt)
2. Restore CSDL:
Tải file shopping_online1.bak do gv cung cấp (zalo nhóm)
Mở SQL Server Management Studio (bản từ 2012 trở lên)
Nhấn phải chuột vào mục DataBase=> Restore
Hình 1.4
Khung bên phải là cấu trúc của Website gồm các trang mặc định được
tạo sẵn
Bước 2: Thêm một Webform vào Website
Nhấn chuột phải lên Website và chọn Add new item
Hình 1.5
Xuất hiện Hình 1.6
Hình 1.6
Trên cửa sổ Soluton Explore (Hình 1.7) xuất hiện trang baitap1.aspx
vừa tạo, kèm theo nó là file chứa code .aspx.cs
Hình 1.7
THỰC HÀNH SỐ 6
(THỰC HÀNH MASTER PAGES VÀ USER CONTROL)
1. Tạo Master Page
Nhấn phải chuột tại cây TM ở cửa sổ Solution Explore-> Add new Item ->
Master Page như sau:
Hình 6.1
Cửa sổ Design ban đầu của master page chỉ có một thành phần
ContentPlaceHolder1. Thành phần này sẽ chứa nội dung cho mỗi trang khác nhau.
Hình 6.2
Chú ý: Đặt con trỏ ra NGOÀI vùng ContentPlaceHolder trên hình 6.2. Rồi vào menu
Table-> Insert Table để chèn vào một bảng
Hình 6.3
Nhập số dòng và cột cần thiết
Hình 6.4
Và trộn ô để có giao diện như sau:
Hình 6.5
Ghi chú: Mẫu giao diện trên đây chỉ mang tính chất tham khảo, ta có thể tạo mẫu
giao diện khác nhau cho Master Page.
Tại các vị trí UC_Top, UC_left, UC_Search,… sau này ta sẽ đưa vào các User Control.
2. Tạo User Control
a. Tạo User control tên là UC_left.ascx
Trước tiên tạo một thư mục UserControls để chứa các Usercontrol
Hình 6.6
Nhấn phải chuột tại thư mục UserControls -> Add new Item
Hình 6.7
Sau đó thiết kế giao diện cho UC_Left
Kéo vào một DataList và Edit Template cho nó như sau:
Hình 6.8
Đặt EditDataBinding cho HyperLink
Hình 6.9
Sau đó EndEditTemplate
Hình 6.10
ta được UC_left có giao diện như sau:
Hình 6.11
Viết code cho UC_left
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
public partial class UserControls_UC_left :
System.Web.UI.UserControl
{
SqlConnection sqlCnn = new SqlConnection();
SqlDataAdapter sqlda = new SqlDataAdapter();
DataTable dt = new DataTable();
string sqlstr = "select * from tbl_dausach";
protected void Page_Load(object sender, EventArgs e)
{
//khoi tao doi tuong ket noi
SqlConnection sqlCnn = new
SqlConnection(ConfigurationManager.ConnectionStrings["ShoppingOnline
1ConnectionString"].ToString());
//mo ket noi
try
{
sqlCnn.Open();
//khoi tao doi tuong dataadapter
SqlDataAdapter sqlAdap = new SqlDataAdapter(sqlstr,
sqlCnn);
//thuc thi
sqlAdap.Fill(dt);
//kt ket qua tra ve
if (dt.Rows.Count > 0)
{
DataList1.DataSource = dt;
DataList1.DataBind();
}
else
{ lblthongbao.Text = "Khong Co Du Lieu";}
}
catch (Exception ex)
{lblthongbao.Text = "Loi" + ex.Message;}
finally
{sqlCnn.Close(); sqlda.Dispose(); dt.Dispose(); }
}
}
Sau đó kéo UC_left vào Masterpage
b. Tạo User control menu.ascx
Tạo một Usercontrol tên uctop.ascx, có giao diện như sau:
Ta có thể đưa một bảng gồm 1 hàng một cột và đặt màu nền cho bảng. Sau đó đưa
vào các HyperLink như trên.
Đưa vào một label đặt ID là lblchaomung; Text: Để trống
Và một button, đặt ID là btnthoat; Text: Để trống
c. Tạo User control uctimkiem.ascx
Tạo user control tìm kiếm có giao diện như sau:
Hình 6.12
Đặt ID cho 2 hộp text lần lượt là txttensach và txttentacgia
ID cho button là btntimkiem
Viết code cho Button btntimkiem
protected void btntim_Click(object sender, EventArgs e)
{
Session["tensach"] = txttensach.Text;
Session["tacgia"] = txttentacgia.Text;
Response.Redirect("~/kqtimtimkiem.aspx");
}
Sau khi tạo xong các user control thì kéo thả chúng vào đúng vị trí trên Masterpage
Lúc này giao diện của MasterPage như sau:
Hình 6.13
3. Tạo trang aspx có sử dụng giao diện của MasterPage
a. Tạo trangchu.aspx có sử dụng giao diện của MasterPage
Add new Item
Hình 6.14
Hình 6.15
Chạy thử trang chủ lên trình duyệt và quan sát kết quả
Tạo trang kqtimkiem.aspx có sử dụng giao diện của Master page
Hình 6.16
Kéo vào một DataList và Edit Template cho nó như giao diện hình dưới
Hình 6.17
Viết code cho trang ketquatimkiem.aspx
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
public partial class Kqtimtimkiem : System.Web.UI.Page
{
SqlConnection sqlCnn = new SqlConnection();
SqlDataAdapter sqlda = new SqlDataAdapter();
DataTable dt = new DataTable();
protected void Page_Load(object sender, EventArgs e)
{
string tensach = Session["tensach"].ToString();
string tacgia = Session["tacgia"].ToString();
//khoi tao doi tuong ket noi
SqlConnection sqlCnn = new
SqlConnection(ConfigurationManager.ConnectionStrings["ShoppingOnline1Connecti
onString"].ToString());
//mo ket noi
string sqlstr = "select * from tbl_sach where ten_sach like N'%" +
tensach + "%' and tacgia_sach like N'%"+tacgia+"%'";
try
{
sqlCnn.Open();
//khoi tao doi tuong dataadapter
SqlDataAdapter sqlAdap = new SqlDataAdapter(sqlstr, sqlCnn);
//thuc thi
sqlAdap.Fill(dt);
//kt ket qua tra ve
if (dt.Rows.Count > 0)
{
DataList1.DataSource = dt;
DataList1.DataBind();
}
else
{
lblthongbao.Text = "Khong Co Du Lieu";
}
}
catch (Exception ex)
{
lblthongbao.Text = "Loi" + ex.Message;
}
finally
{
sqlCnn.Close();
sqlda.Dispose();
dt.Dispose();
}
}
}
b. Tạo trang dangky.aspx có sử dụng giao diện của MasterPage
Hình 6.18
Đưa vào các điều khiển kiểm tra dữ liệu
- Tên đăng nhập không được để trống (requiredfield validator)
- Mật khẩu không được để trống (requiredfield validator)
- Mật khẩu nhập lại phải khớp với nhập lần 1
Viết code cho trang dangky.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
public partial class Dangky : System.Web.UI.Page
{
SqlConnection cnn = new SqlConnection();
SqlDataAdapter ad = new SqlDataAdapter();
DataTable dt = new DataTable();
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btndangky_Click(object sender, EventArgs e)
{
string sql1 = "select * from Tbl_user where tendn='" + txttendn.Text
+ "'";
SqlConnection cnn = new SqlConnection("Data Source=DESKTOP-
U1CMRE2\\SQLEXPRESS;Initial Catalog=ShoppingOnline1;Integrated
Security=True");
try
{
cnn.Open();
String ten, mk, email;
ten = txttendn.Text;
mk = txtmatkhau.Text;
email = txtemail.Text;
string sql2 = "insert into TBL_user values('" + ten + "','"
+mk+"','"+ email + "')";
SqlDataAdapter ad = new SqlDataAdapter(sql1, cnn);
ad.Fill(dt);
SqlCommand cmd = new SqlCommand(sql2);
cmd.Connection = cnn;
//cmd.ExecuteNonQuery();
if (dt.Rows.Count > 0)
{
//Response.Write("Tên ddn này đã tồn tại");
lblthongbao.Text = "Tên đăng nhập này đã tồn tại";
txttendn.Focus();
}
else
{
int i = cmd.ExecuteNonQuery();
if (i > 0)
{
lblthongbao.Text = "Đăng ký thành công";
}
else
{
lblthongbao.Text = "Lỗi";
}
}
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
finally
{ cnn.Close(); }
}
}
c. Tạo trang dangnhap.aspx có sử dụng giao diện của MasterPage
Hình 6.19
Trang đăng nhập cho phép người dùng nhập vào Tên đăng nhập và mật khẩu. Sau đó
kiểm tra xem trong bảng có người dùng nào như vậy thì hiển thị chào mừng và nút
Thoát trên ucmenu (Hình 6.19)
Code của trang đăng nhập
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
}
protected void btndangnhap_Click(object sender, EventArgs e)
{
string sql1 = "select * from Tbl_user where tendn='" + txttendn.Text + "' and
mk='"+txtmatkhau.Text+"'";
SqlConnection cnn = new
SqlConnection(ConfigurationManager.ConnectionStrings["ketnoicsdl1"].ToString());
try
{
cnn.Open();
String ten, mk, email;
ten = txttendn.Text;
mk = txtmatkhau.Text;
// email = txtemail.Text;