1. Trang chủ
  2. » Công Nghệ Thông Tin

Cơ sở lập trình các đoạn CODE căn bản để thiết kế web bằng ASP.NET

26 794 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 534,27 KB

Nội dung

Mô tả chi tiết cách làm và code các phần của một trang web hoàn chỉnh bằng ASP.NET:Code Form đăng nhập:1.1. Giao diện form 1.2. Thêm 2 using cho phần code trong đăng nhập: dangnhap.aspx.cs Using System.Data; Using System.Data.SqlClient; 1.3. Code cho nút đăng nhập: protected void btnLoGin_Click(object sender, EventArgs e) { String strCon = Data Source= NGOCHTHVTCPC; Initial Catalog= CSLT3_CanBo; User ID=ngochthvtc; Password=ngochvtc; SqlConnection con = new SqlConnection(); con.ConnectionString = strCon; con.Open(); SqlDataAdapter adt = new SqlDataAdapter(); SqlCommand cmd = new SqlCommand(); DataTable dt = new DataTable(); string strKtra = SELECT FROM Nguoi_Dung WHERE Ten_DN = N + txtTenDangNhap.Text.Trim() + AND Mat_Khau = + txtMatKhau.Text.Trim() + ; cmd.CommandText = strKtra; cmd.Connection = con; adt.SelectCommand = cmd; adt.Fill(dt); if (dt.Rows.Count > 0) { ShowMessage(Đăng nhập thành công,”Thông báo”); Response.Redirect(DSSV.aspx); } else 2 { ShowMessage(Đăng nhập không thành công, “Thông báo”); } con.close(); }

Trang 1

1

1 Phần đăng nhập

1.1 Giao diện form

1.2 Thêm 2 using cho phần code trong đăng nhập: dangnhap.aspx.cs

Using System.Data;

Using System.Data.SqlClient;

1.3 Code cho nút đăng nhập:

protected void btnLoGin_Click(object sender, EventArgs e)

SqlDataAdapter adt = new SqlDataAdapter();

SqlCommand cmd = new SqlCommand();

DataTable dt = new DataTable();

string strKtra = "SELECT * FROM Nguoi_Dung WHERE Ten_DN = N'" +

txtTenDangNhap.Text.Trim() + "' AND Mat_Khau = '"

Trang 3

3

2 Phần hiển thị lên gridview, sửa xóa trực tiếp trên gridview:

2.1 Tạo mới form DSSV.aspx

2.1.1 Code cho GridviewSV trang DSSV.aspx

<asp:GridView ID=" GridviewSV " runat="server" AutoGenerateColumns="False" />

Trang 4

đưa các cột tiếp theo và đây nhé ………

< asp : CommandField CancelText ="Hủy" DeleteText ="Xóa" EditText ="Sửa"

InsertText ="Thêm" NewText ="Thêm" ShowDeleteButton ="True"

ShowEditButton ="True" UpdateText ="Cập nhật" />

cmd = new SqlCommand(strSQL, con);

adt = new SqlDataAdapter();

Trang 5

5

} protectedvoid Page_Load(object sender, EventArgs e) {

DSSV();

}

2.2.3 Code cho thao tác xóa: (sự kiện RowDeleting)

protectedvoid GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) {

string ma_SV = GridView1.DataKeys[e.RowIndex].Value.ToString();

2.2.4 Code cho thao tác sửa:

a Sự kiện RowEditing cho phép sửa:

protectedvoid GridView1_RowEditing(object sender, GridViewEditEventArgs e) {

GridView1.EditIndex = e.NewEditIndex;

DSSV();

}

b Sự kiện RowCancelingEdit để hủy bỏ việc sửa

protectedvoid GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)

{ GridView1.EditIndex = -1;

Trang 6

6

string ten_SV = ((TextBox) GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text; string gioi_Tinh = ((TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text; decimal dtb =

Convert.ToDecimal(((TextBox)GridView1.Rows[e.RowIndex].Cells[3].Controls[0]).Text); String connStr;

Trang 7

7

3 Phần thêm mới có kiểm tra trùng mã

3.1 Thêm mới form ThemSV.aspx

3.1.1 Giao diện form

3.1.2 Code cho giao diện cho phần nhập ThemSV.aspx

<asp:LabelID="Label3"runat="server"Text="Mã Sinh Viên"</asp:Label>

<asp:TextBox ID="txtMa_SV"runat="server"</asp:TextBox>

<asp:LabelID="Label4"runat="server" Text="Tên Sinh Viên"></asp:Label>

<asp:TextBox ID="txtTen_SV"runat="server”></asp:TextBox>

<asp:LabelID="Label5"runat="server"Text="Mã Lớp"></asp:Label>

<asp:DropDownList ID="cboMa_Lop"runat="server"></asp:DropDownList

<asp:LabelID="Label1"runat="server" Text="Hình Ảnh"></asp:Label>

<asp:FileUploadID="FileUpload1"runat="server"/>

<asp:ButtonID="btnUpLoad"runat="server"onclick="btnUpLoad_Click"/>

<asp:TextBoxID="txtHinh_Anh"runat="server"></asp:TextBox>

<asp:ButtonID="btnThem" runat="server"Text="Thêm Sinh Viên"

Trang 8

8

3.2.2 Code cho sự kiện page_Load (load dữ liệu cho dropdowlist: cbomalop)

protectedvoid Page_Load(object sender, EventArgs e)

cmd = new SqlCommand(strSQL, con);

adt = new SqlDataAdapter();

3.2.3 Code cho sự kiện UPLOAD (load đường dẫn hình ảnh)

protected void btnUpLoad_Click(object sender, EventArgs e)

{

HttpPostedFile file = FileUpload1.PostedFile;

if (FileUpload1.HasFile == false || file.ContentLength > 500000)

Trang 9

3.2.4 Nếu bắt trùng mã ở text_changed của mã sinh viên:

protected void txtMa_SV_TextChanged(object sender, EventArgs e)

SqlDataAdapter adt = new SqlDataAdapter();

SqlCommand cmd = new SqlCommand();

DataTable dt = new DataTable();

string strKtra = "SELECT * FROM Sinh_Vien WHERE Ma_SV = N'" +

3.2.5 Code cho sự kiện Click của nút thêm:

protected void btnThem_Click(object sender, EventArgs e)

Trang 10

SqlDataAdapter adt = new SqlDataAdapter();

SqlCommand cmd = new SqlCommand();

DataTable dt = new DataTable();

string strKtra = "SELECT * FROM Sinh_Vien WHERE Ma_SV = N'" +

Trang 11

11 }

Trang 12

12

4 Phần kiểm tra có sử dụng các điều khiển

4.1 Kiểm tra txtMasv không được để trắng

<asp:TextBox ID=" txtMasv" runat="server"></asp:TextBox>

<asp:RequiredFieldValidator runat="server" id="reqMasv" controltovalidate="txtMasv"

errormessage="khong duoc de trong!" />

4.2 Kiểm tra txtNgay có kiểu date và thuộc khoảng cho trước

<asp:TextBox ID=" txtNgay " runat="server"></asp:TextBox>

<asp:RangeValidator runat="server" id="rngNgay" controltovalidate="txtNgay"

type="Date" minimumvalue="12-31-1960" maximumvalue="01-01-1995"

errormessage="Nhap ngay khong dung!" />

4.3 Kiểm tra txtDtb có kiểu Số thực và thuộc khoảng cho trước

<asp:TextBox ID=" txtDtb " runat="server"></asp:TextBox>

<asp:RangeValidator runat="server" id="rngDate" controltovalidate="txtDtb" type="Double"

minimumvalue="0" maximumvalue="10" errormessage="Diem nhap vao khong nam trong gioi han cho phep!" />

4.4 Kiểm tra txtten không được có kí tự đặc biệt: (4.4 và 4.5 trong trường hợp tạo form đăng kí người dùng)

<asp:TextBox ID="txtten" runat="server"></asp:TextBox>

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" ControlToValidate="txtten" ValidationExpression="\w{1,255}" runat="server" ErrorMessage="khong duoc nhap ki tu dac biet"></asp:RegularExpressionValidator>

4.5 Kiểm tra trùng mật khẩu

<asp:TextBox ID="txtma2" runat="server" TextMode="Password"></asp:TextBox>

<asp:CompareValidator ID="CompareValidator1" Display="Dynamic"

ControlToValidate="txtma2" ControlToCompare="txtma" runat="server" ErrorMessage="mat khau khong khop"></asp:CompareValidator>

- Với txtma là text nhập mật khẩu, txtma2 là text nhắc lại mật khẩu

Trang 13

- Lấy ra các sinh viên khoa tin học

SELECT Ma_SV, Ten_SV …

FROM Sinh_Vien WHERE SUBSTRING(LTRIM(6,2) = ‘41’

Trang 14

14

6 Code cho sự kiện Click của nút đăng kí:

protected void btnDangKi_Click(object sender, EventArgs e)

SqlDataAdapter adt = new SqlDataAdapter();

SqlCommand cmd = new SqlCommand();

DataTable dt = new DataTable();

string strKtra = "SELECT * FROM nguoidung WHERE tendangnhap = N'" +

Trang 16

<title> Bài 2 </title>

<script language= "javascript">

<input type="text" id="dtb" >

<button type="button" onclick ="xeploai()">Xếp loa ̣i</button>

<input type="text" id="kq" >

</body>

</html>

Trang 17

{ document.getElementById("kq").value = x - y; } function Nhan()

{ document.getElementById("kq").value = x * y; } function Chia()

{ document.getElementById("kq").value = x / y; } function Mu()

{ document.getElementById("kq").value =math.pow( x,y); }

</script>

</head>

<body>

<input type="text" id="so1" >

<button type="button" onclick="Cong()"> Cộng </button>

<button type="button" onclick="Tru()"> Trừ </button>

<button type="button" onclick="Nhan()"> Nhân </button>

<button type="button" onclick="Chia()"> Chia </button>

<button type="button" onclick="Mu()"> Mũ </button>

<input type="text" id="so2">

Function PhucHoi()

{

// đoạn code lệnh }

</head>

<body>

ĐĂNG NHẬP DIỄN ĐÀN

Trang 18

18

Tên đăng nhập: <input type="text" id="tendangnhap" >

Mật khẩu: <input type="text" id="matkhau" >

<button type="button" onclick="DangNhap()"> Đăng Nhập </button>

<button type="button" onclick="PhucHoi()"> Phục Hồi</button>

</body>

</html>

Trang 19

19

Câu 1: Trình bày về ASP.NET? Quá trình xử lý trang ASP.NET?

ASP.NET (Active Server Pages) là kỹ thuật lập trình và phát triển ứng dụng web ở phía Server

(Server-side) dựa trên nền tảng của Microsoft Net Framework ASP.NET là một khung nền phát triển để xây dựng các trang web với HTML, CSS, JavaScript và máy chủ mã hóa Là sự kết hợp của 2 công nghệ phát triển web: web form và web service, là công nghệ để tạo ra web động

- Page: Một trang ASP là một trang web mà người dùng điều hướng và được hiển thị trên các trình duyệt

- Server: Một trang ASP chứa đoạn mã hóa mà các máy chủ Web thực hiện

- Active: Một trang ASP cung cấp nội dung động mà được cập nhật mỗi lần trang được truy cập

ASP.NET hỗ trợ ba mô hình phát triển khác nhau: Web Pages, MVC, Web Forms

ASP.Net cho phép viết = ngôn ngữ Visual Basic.Net, J#, C#,…

Trang ASP.Net được biên dịch trước -> Server có thể thi hành nhanh chóng và hiệu quả

ASP.Net hỗ trợ mạnh mẽ bộ thư viện phong phú và đa dạng của Net Framework

ASPX và ASP có thể cùng hoạt động trong 1 ứng dụng

ASP.Net sử dụng phong cách lập trình mới: Code behide Tách code và giao diện riêng biệt

Quá trình xử lý trang ASP.NET:

Về cơ bản một trang ASP.NET giống như một trang HTML

Một trang ASP.NET có phần mở rộng aspx Nếu một trình duyệt yêu cầu một trang ASP.NET, máy chủ xử lý bất kỳ mã thực thi nào có trong trang trước khi kết quả được gửi trả lại cho trình duyệt Cụ thể: Một trang ASP.NET lưu trữ trên máy chủ Web và có chứa mã viết bằng một trong các ngôn ngữ NET Khi người dùng yêu cầu các trang ASP.NET, máy chủ web tải trang và thực hiện các chương trình liên kết với trang Các mã liên kết với trang có thể thực hiện rất nhiều thao tác, chẳng hạn như truy cập vào một cơ sở dữ liệu trên máy chủ, gọi đến dịch vụ Web, hoặc thực hiện các phép tính Cuối cùng, đoạn mã hiển thị đầu ra là HTML cho người sử dụng trong trình duyệt

Trang 20

20

Bước 1: Người lập trình phải tạo các trang ASPX (giả sử tên trang đó là abc.aspx) và đặt nó vào trong thư mục web của web server (có tên là www.server.com) Trên thanh địa chỉ của trình duyệt, người dùng nhập trang www.server.com/abc.aspx

Bước 2: Trình duyệt gửi yêu cầu tới server với nội dung: ”Làm ơn gửi cho tôi trang abc.aspx thì tốt !” Bước 3: Web server sẽ biên dịch code của trang aspx (bao gồm cả các mã code vb.net/ c# - gọi là code behind hay code file) thành class

Bước 4: Lớp sau khi được biên dịch sẽ được server thực thi

Bước 5: Server trả kết quả thực thi về cho trình duyệt (trang HTML)

Trang 21

{ document.getElementById("kq").value = x - y; } function Nhan()

{ document.getElementById("kq").value = x * y; } function Chia()

{ document.getElementById("kq").value = x / y; } function Mu()

{ document.getElementById("kq").value =math.pow( x,y); }

</script>

</head>

<body>

<input type="text" id="so1" >

<button type="button" onclick="Cong()"> Cộng </button>

<button type="button" onclick="Tru()"> Trừ </button>

<button type="button" onclick="Nhan()"> Nhân </button>

<button type="button" onclick="Chia()"> Chia </button>

<button type="button" onclick="Mu()"> Mũ </button>

<input type="text" id="so2">

=

<input type="text" id="kq" >

</body>

</html>

Trang 22

22

Câu 3: Btập ASP.NET

** Trình bày các bước truy xuất trong mô hình ngắt kết nối:

1 Định nghĩa xâu kết nối connection string

string xauketnoi =”server=HVTC\\EXPRESS; database=QLSV;user=sa; password=123456”;

2 Định nghĩa kết nối (connection)

SqlConnection con = new SqlConnection(xauketnoi);

3 Định nghĩa command

SqlCommand cmd = new SqlCommand();

4 Định nghĩa data adapter

SqlDataAdapter adp = new SqlDataAdapter(“select * from sinhvien order by masv”,con);

5 Tạo một đối tượng DataSet mới

DataSet ds = new DataSet();

6 SELECT -> điền dữ liệu vào dataset với các kết quả từ câu lệnh truy vấn qua data adapter

Adp.Fill(ds,”sinhvien”);

7 Đọc các bản ghi từ DataTables trong sử dụng DataRow và DataColumn

8 UPDATE, INSERT hoặc DELETE -> cập nhập cơ sở dữ liệu qua data adapter

** Vẽ form:

** Source kèm với các ràng buộc dữ liệu cho các thuộc tính cần thiết

Trang 23

23

(chỉ cần thiết lập ràng buộc Require FieldValidator và RangeValidator cho các thuộc tính mà có trong grid mà đề bài cho, ngoài ra thì thiết lập ràng buộc RangeValidator cho các thuộc tính cần thiết khác như số lượng, đơn giá, tiền, )

Ngày <asp:TextBox ID="txt_ngay" runat="server"> </asp:TextBox>

<asp:RangeValidator ID="RV1" runat="server"

Mã sách <asp:TextBox ID="txt_masach" runat="server" Autopostback="true"> </asp:TextBox>

<asp:RequiredFieldValidator ID="RFV2" runat="server"

ControlToValidate="txt_masach"

ErrorMessage="Không được để rỗng!">

</asp:RequiredFieldValidator>

Mã NXB <asp:TextBox ID="txt_manxb" runat="server"> </asp:TextBox>

<br> Tên sách <asp:TextBox ID="txt_tensach" runat="server"></asp:TextBox>

<asp:RequiredFieldValidator ID="RFV1" runat="server"

Trang 24

24

<br> Đơn vị tính <asp:TextBox ID="txt_dvt" runat="server"></asp:TextBox>

<br> Đơn giá <asp:TextBox ID="txt_dgia" runat="server"></asp:TextBox>

<asp:RangeValidator ID="RV2" runat="server"

<br> Số lượng <asp:TextBox ID="txt_slg" runat="server"></asp:TextBox>

<asp:RangeValidator ID="RV3" runat="server"

// Hàm load Grig view

private void load_grvsach()

Trang 25

25

{ SqlConnection con = new SqlConnection ("server=HVTC_server\\SQLEXPRESS; database=QLBH "); SqlDataAdapter adp = new SqlDataAdapter("select masach,tensach,dongia,ngaycapnhat from tblSach order by masach", con);

DataSet ds = new DataSet();

load_grvsach();

Page.DataBind();

} }

//Code btn_them kèm theo việc kiểm tra mã sách có trùng không

protected void btn_them_Click(object sender, EventArgs e)

ShowMessage(" mã sách đã tồn tại", "thông báo");

txtmasach.Text = "";

txtmasach.Focus();

Ngày đăng: 16/08/2016, 16:21

TỪ KHÓA LIÊN QUAN

w