Download as pdf or txt
Download as pdf or txt
You are on page 1of 17

HƯỚNG DẪN LÀM BÀI TẬP CÔNG NGHỆ .

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

 Xuất hiện cửa sổ sau:

 Xuất hiện cửa sổ:


Nhấn Add để thêm tệp .bak vào

Chọn tệp shopping_online1.bak => Nhấn OK


Có thông báo thành công:
Lúc này trong cửa sổ SQL Server Management xuất hiện CSDL
ShoppingOnline1 như hình dưới:

3. Khởi động Visual Studio


=> Tạo mới một Website (File-> New-> Website)

 Xuất hiện hộp thoại New Website (Hình 1.3)


Hình 1.3
Xuất hiện cửa sổ Hình 1.4

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;

public partial class Dangnhap : 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 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;

SqlDataAdapter ad = new SqlDataAdapter(sql1, cnn);


ad.Fill(dt);
if (dt.Rows.Count > 0)
{
Session["makhach"]=txttendn.Text;
Response.Redirect("Dangnhapthanhcong.aspx");
}
else
{
lblthongbao.Text="Tên đăng nhập hoặc mật khẩu ko đúng";
}
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
finally
{ cnn.Close(); }
}
}

Hình 6.20- Trang đăng nhập thành công


Để sau khi đăng nhập thành công thì hiển thị Tên đăng nhập của khách hàng lên menu
như hình 6.20 thì ta viết code cho User control menu như sau:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class ucmenu : System.Web.UI.UserControl


{
protected void Page_Load(object sender, EventArgs e)
{
if (Session["makhach"] != null)
{
lblchaomung.Text = "Xin chao ban " + Session["makhach"];
btnthoat.Text = "Thoát";
}
}
protected void btnthoat_Click(object sender, EventArgs e)
{
Session["makhach"] = null;
Response.Redirect("Dangnhapthanhcong.aspx");
}
}

You might also like