Tài liệu khóa học lập trình ASP.NET - Nguyễn Minh Quý
MỤC LỤC
BÀI SỐ1: MỞ ĐẦU VỀASP.NET. 6
1.1. Giới thiệu tổng quan công nghệ.NET.6
1.1.1 Sựra đời của .NET.6
1.1.2 .NET Framework là gì .7
1.1.3 Một số ưu điểm chính của .NET framework.9
1.2. Giới thiệu ASP.NET.10
1.3. Cài đặt Visual Studio.NET 2008 .10
1.3.1 Các phiên bản .NET.10
1.3.2 Cài đặt Visual Studio.NET 2008.10
1.4. Giới thiệu môi trường tích hợp (IDE) của ASP.NET.11
1.5. Tạo/lưu/mở/chạy ứng dụng ASP.NET.13
1.5.1 Tạo mới .13
1.5.2 Lưu ứng dụng Web.14
1.5.3 Mở(Chạy) ứng dụng .14
1.6. Cơbản vềCSS và DHTML.15
1.6.1 CSS.15
1.6.2 DHTML.15
1.7. Định dạng các thẻsửdụng CSS.16
1.7.1 Định dạng ởmức dòng (Inline) .16
1.7.2 Định dạng bởi bộchọn ID.16
1.7.3 Định dạng bởi bộchọn thẻ(tag).16
1.7.4 Định dạng bởi lớp (Class) .17
1.7.5 Vấn đềtổchức lưu trữ.19
1.8. Truy xuất thuộc tính các thẻHTML và CSS bằng JavaScript.19
1.8.1 Truy xuất các thuộc tính của thẻ.19
1.8.2 Truy xuất các thuộc tính CSS.20
BÀI SỐ2: THỰC HÀNH. 22
BÀI SỐ3: ASP.NET và Web form. 32
3.1 Mô hình lập trình phía máy chủ.32
3.2 Cơchếxửlý file ASP.NET phía máy chủ. .34
3.3 Một sốví dụminh họa.36
3.3.1 Yêu cầu xửlý tại phía server thông qua Runat=”Server” .36
3.3.2 Yêu cầu xửlý bên phía server thông qua cặp thẻ<% %>.37
3.3.3 Yêu cầu xửlý bên server thông qua Script.38
3.3.4 Yêu cầu xửlý bên phía server bằng cách đặt trong Code file .38
3.4 Webform trongASP.NET .39
3.5 Tìm hiểu cấu trúc trang ASP.NET.39
3.6 Code behind và viết code phía Server.42
3.7 HTML Server Controls và Web controls .43
3.7.1 Giới thiệu.43
3.7.2 Cách thức tạo phần tửHTML Server Control và ASP.NET control.43
BÀI 4: THỰC HÀNH . 45
BÀI 5: Tìm hiểu và sửdụng các Server/Ajax Controls. 53
5.1 HTML ServerControls.53
5.2 Web serverControls .53
5.2.1 Khai báo (tạo các phần tửweb server control).53
5.2.2 Cơchếxửlý các phần tửweb server control .54
5.2.2 Thực thi các câu lệnh tại phía server .59
Tài liệu khóa học lập trình web với ASP.NET – Biên soạn: Nguyễn Minh Quý
5.2.3 Mô hình xửlý sựkiện trong ASP.NET .59
5.3 Ajax Control Toolkit.60
5.3.1 Giới thiệu.60
5.3.2 Hướng dẫn sửdụng một sốAjax Control cơbản .61
5.4 Thảo luận công nghệAjax.62
BÀI 6: THỰC HÀNH . 63
BÀI 7: Tạo và sửdụng Custom Control. 67
7.1 Giới thiệu User CustomControl .67
7.2 Các bước tạo User Customcontrol .67
7.3 Thêm các thuộc tính, phương thức và sựkiện vào UCC.69
7.3.1 Thêm thuộc tính vào UCC.69
7.3.2 Thêm phương thức vào UCC .70
7.3.3 Thêm sựkiện vào UC.71
7.4 Truy cập thuộc tính, phương thức của các phần tửcon trong UCC.71
7.5 Minh họa tạo một số điều khiển .73
BÀI 8: THỰC HÀNH . 76
BÀI 9: Các đối tượng trong ASP.NET. 83
9.1 Request Object.83
9.1.1 Đối tượng Request dùng đểlàm gì ? .83
9.1.2 Các thành phần (thuộc tính và phương thức) chính.83
9.1.3 Ví dụsửdụng .83
9.2 Response Object.86
9.1.1 Đối tượng Response dùng đểlàm gì ?.86
9.1.2 Các thành phần (thuộc tính và phương thức) chính.86
9.1.3 Ví dụsửdụng .86
9.3 Server Object .87
9.3.1 Đối tượng Server dùng đểlàm gì ?.87
9.3.2 Các thành phần (thuộc tính và phương thức) chính.87
9.3.3 Ví dụsửdụng .87
9.4 Session Object.87
9.4.1. Biến Sesstion.87
9.4.2. Đối tượng Session.88
9.5 Application Object.88
9.5.1 Đối tượng Application dùng đểlàm gì ? .88
9.5.2. Khái niệm biến toàn ứng dụng .88
9.5.3. Đối tượng Application.88
Một sốbài tập tổng hợp: . 89
BÀI 10: THỰC HÀNH . 94
BÀI 11. Truyền dữliệu giữa các webpage,. 94
MasterPage và gỡrối (Debug) chương trình. 94
11.1 Truyền (Post) dữliệu giữa các trang bằng mã lệnh C#.94
11.2 Truy xuất đến các phần tửbằng phương thức FindControl .94
11.3 Truy xuất đến trang gửi thông qua thuộc tính PreviousPage. .94
11.4 MasterPage.94
11.5 Gỡrối.97
11.5.1 Giới thiệu.97
11.5.2 Chạy ứng dụng ởchế độgỡrối .97
11.5.3 Khái niệm điểm dừng .97
11.5.4 Chạy từng dòng lệnh với chế độStep Into (F8) .97
11.5.5 Chạy từng dòng lệnh với chế độStep Over (Shift-F8).97
11.5.6 Chạy từng dòng lệnh với chế độStep Out (Ctrl-Shift-F8) .97
11.2 Sửdụng Custom Error page.97
11.3 Ghi các vết gây lỗi (Trace errors).97
11.4 Sửdụng công cụgỡrối/ Menu Debug.97
11.5 Tracing lỗi ởmức trang/ Mức toàn ứng dụng .97
BÀI 12: THỰC HÀNH . 97
BÀI 13: CÔNG NGHỆADO.NET . 98
13.1 Giới thiệu chung.98
13.2 Kiến trúc của ADO.NET .99
13.3 Các lớp thao tác với CSDL: Connection, Command, . 100
13.3.1 Lớp Connection.100
13.3.2 Lớp Command.102
13.3.3 Lớp DataReader .104
13.3.7 Lớp DataColumn.106
13.3.8 Lớp DataTable.106
13.3.9 Lớp DataRow .107
13.3.10 Lớp DataSet.108
13.3.11 Lớp DataAdapter .108
BÀI 14: THỰC HÀNH . 111
BÀI 15: Tìm hiểu và ứng dụng cơchếData Binding. 118
15.1 Giới thiệu DataBinding. 118
15.2 Data Binding.118
15.2.1 Dạng gắn kết dữliệu đơn (Single DataBinding) .118
15.2.2 Dạng gắn kết dữliệu có sựlặp lại (Repeated Data Binding) .119
15.3 Các điều khiển Data Source (Data source controls). 121
15.3.1 Giới thiệu vềDataSource controls .121
15.3.2 Sửdụng SqlDataSouce đểchọn (Select) dữliệu.122
15.3.3 Sửdụng SqlDataSource đểcập nhật dữliệu .124
15.3.4 Xóa bản ghi trong CSDL bằng SqlDataSource .127
BÀI 16: THỰC HÀNH . 129
BÀI 17: Làm việc với GridView . 133
17.1 Giới thiệu tổng quan. 133
17.2 Tìm hiểu lớp GridView . 133
17.2.1 Các thuộc tính và cột thuộc tính.133
17.2.2 Các style áp dụng cho GridView.134
17.2.3 Các sựkiện .135
17.2.4 Các phương thức .136
17.3 Các tính năng hỗtrợcủa GridView .137
17.3.1 Phântrang.137
17.3.2 Tính năng tự động sắp xếp .139
17.3.3 Các mẫu hiển thị- Template .140
17.4 Tạo các cột tùy biến HyperLink, BoundColunm . 141
17.4.1 Tạo cột BoundField thủcông .141
17.4.2 Tạo một cột hyperlink .141
17.5 Tạo và xửlý các cột Select, Edit, Delete, Update . 144
17.5.1 Thêm cột Select, Edit - Update, Delete .144
17.5.2 Cập nhật dữliệu .145
17.5.3 Xóa dữliệu .146
BÀI 18: THỰC HÀNH . 148
BÀI 19: Sửdụng Templates . 155
19.1 Giới thiệu tổng quan.155
19.2 Các điều khiển hỗtrợTemplates.155
19.2.1 Một số điều khiển hỗtrợTemplate thường dùng .155
19.2.2 Các loại Template.155
19.3 Repeater control, DataList control, GridView control.156
19.3.1 Tạo template với GridView.156
19.3.2 Tạo template với DataList .160
19.3.3 Tạo Template với Repeater (light-weight) .161
20. Đóng gói website.162
BÀI 20: THỰC HÀNH . 163
liệu khóa học lập trình web với ASP.NET – Biên soạn: Nguyễn Minh Quý V1.0 – aptech@utehy.edu.vn; Tel: 0321-713.319 161 ……………………………………………………………………………………………………………… Kết quả sau khi chạy trang ở trên 19.3.3 Tạo Template với Repeater (light-weight) Repeater cũng là một điều khiển có khả năng hiển thị dữ liệu dưới dạng danh sách. Khi được gắn với nguồn dữ liệu, nó sẽ lần lượt thực thi nội dung nằm trong phần Template mỗi khi một bản ghi được đọc từ nguồn. Tuy điều khiển này không có khả năng phân trang, sắp xếp như GridView như nó là một điều khiển chiếm ít tài nguyên của hệ thống (vì vậy được gọi là điều khiển Light-weight), do đó chúng ta có thể dùng trong những trường hợp mà ở đó tài nguyên đóng vai trò quan trọng. Repeater cho phép chúng ta tùy biến các mục tương tự như GridView và DataList, đó là sử dụng Template. Ví dụ 9: Hiển thị họ tên và ảnh minh họa người dùng trong bảng tblUser sử dụng điều khiển Repeater. Tài liệu khóa học lập trình web với ASP.NET – Biên soạn: Nguyễn Minh Quý V1.0 – aptech@utehy.edu.vn; Tel: 0321-713.319 162 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Repeater.aspx.cs" Inherits="Lession_19_Repeater" %> Hiển thị danh sách người dùng <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="" SelectCommand="SELECT * FROM tblUser"> <asp:Repeater runat="server" ID="rptDSND" DataSourceID="SqlDataSource1"> Họ và tên: <asp:Image runat="server" ImageUrl='' Width="100px" Height="100px" /> 20. Đóng gói website Sau khi hoàn tất dự án thì một khâu quan trọng nữa cần phải thực hiện để đảm bảo vấn đề bản quyền đó là biên dịch và xuất bản ứng dụng web. Việc xuất bản (Publish) ứng dụng sẽ giúp biên dịch các file code behind (file CS) thành các assemblies (file DLL). Khi đó, ứng dụng chạy sẽ nhanh hơn và bảo mật hơn. Để xuất bản web, Right click vào Tên của Solution và chọn mục Publish. Sau đó một hộp thoại hiện ra cho phép ta chọn thư mục sẽ lưu kết quả. Ứng dụng được biên dịch này có thể copy vào Server để thực thi. Tài liệu khóa học lập trình web với ASP.NET – Biên soạn: Nguyễn Minh Quý V1.0 – aptech@utehy.edu.vn; Tel: 0321-713.319 163 BÀI 20: THỰC HÀNH Mục tiêu: Kết thúc bài học này, học viên có thể Sử dụng được tính năng Template để trình diễn và cập nhật dữ liệu theo yêu cầu Sử dụng được DataList để trình diễn dữ liệu dưới dạng cột. Sử dụng ListView kết hợp với DataPager để hiển thị và duyệt các bản ghi. Nội dung: Bài 1: Hiển thị danh sách cán bộ (bao gồm họ tên, địa chỉ, điện thoại) trong bảng tblCanBo. Trong đó Họ tên chữ đậm. Hướng dẫn: - Đặt thuộc tính AutoGenerateColumns = "false" - Tự tạo các cột cho GridView bằng cặp thẻ … - Đặt nội dung cần hiển thị (ở đây là Họ tên, địa chỉ, điện thoại) vào các cột bằng cách đặt bên trong cặp thẻ Danh sách cán bộ Minh họa: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ThongTinCanBo.aspx.cs" Inherits="Lession_20_ThongTinCanBo" %> Thông tin về cán bộ <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="" SelectCommand="SELECT * FROM tblCanBo"> <asp:GridView runat="server" ID="DSCB" DataSourceID="SqlDataSource1" AutoGenerateColumns="false"> Tài liệu khóa học lập trình web với ASP.NET – Biên soạn: Nguyễn Minh Quý V1.0 – aptech@utehy.edu.vn; Tel: 0321-713.319 164 Bài 2: Bổ sung thêm trường Photo vào bảng tblCanBo, trường Photo này sẽ lưu đường dẫn tới file ảnh của mỗi cán bộ. Sau đó xây dựng trang web hiển thị thông tin cán bộ (bao gồm các trường Họ tên, địa chỉ và ảnh tương ứng). Hướng dẫn: - Vì trường Photo đã chứa đường dẫn đến file ảnh rồi, vì vậy để hiển thị hình ảnh thay vì văn bản text thuần túy, ta sẽ tạo thêm phần tử , trong đó thuộc tính ImageUrl sẽ được gán giá trị của trường Photo tương ứng. cụ thể là : ' /> - Để đặt kích thước ảnh như nhau, có thể thêm thuộc tính Width và Height - Trước giá trị cần có thêm cặp dấu nháy đơn để đảm bảo tính đúng đắn khi đường dẫn ảnh chứa dấu cách. Yêu cầu về giao diện Tài liệu khóa học lập trình web với ASP.NET – Biên soạn: Nguyễn Minh Quý V1.0 – aptech@utehy.edu.vn; Tel: 0321-713.319 165 Minh họa: <asp:GridView runat="server" ID="DSCB" Width="100%" GridLines="Both" DataSourceID="SqlDataSource1" AutoGenerateColumns="false"> <asp:Image runat="server" Width="100px" Height="100px" ImageUrl='' /> Bài 3: Hiển thị danh sách cán bộ dạng chi tiết. Thông tin được dàn trang theo chiều dọc (Flow). Hướng dẫn: Tạo một cột duy nhất, nhưng mỗi dòng của cột đó sẽ chứa tất cả các trường thông tin cần hiển thị. Với mỗi hàng được tạo ra, ta sẽ đặt vào một table có kích thước cố định, bảng này có 1 hàng và 2 cột. Cột thứ nhất sẽ chứa thông tin ở dạng text như họ tên, địa chỉ, điện thoại và mô tả bản thân. Cột thứ hai sẽ hiển thị hình ảnh tương ứng. Kết quả Tài liệu khóa học lập trình web với ASP.NET – Biên soạn: Nguyễn Minh Quý V1.0 – aptech@utehy.edu.vn; Tel: 0321-713.319 166 Minh họa: <asp:GridView runat="server" ID="DSCB" Width="100%" GridLines="None" DataSourceID="SqlDataSource1" AutoGenerateColumns="false"> <asp:Image runat="server" Width="100px" Height="100px" ImageUrl='' /> Bài 3: Hiển thị danh sách người dùng dưới dạng Flow (tuyến tính) như bài 3, nhưn có thêm chức năng cập nhật và Delete. THông tin hiển thị gồm Họ tên, Địa chỉ, Điện thoại. Trong đó, trường địa chỉ sẽ hiển thị ở dạng Text Multiline khi sửa. Hướng dẫn: Tạo các template như bài 3, nhưng thêm 2 command là Edit và Delete. Trong đó các trường muốn sửa chữa sẽ đặt vào các Textbox và dùng hàm . Minh họa: Cột 1 Cột 2 Tài liệu khóa học lập trình web với ASP.NET – Biên soạn: Nguyễn Minh Quý V1.0 – aptech@utehy.edu.vn; Tel: 0321-713.319 167 Kết quả. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="DSCB_ImageField.aspx.cs" Inherits="Lession_20_DSCB_ImageField" %> Cập nhật danh sách cán bộ <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="" SelectCommand="SELECT * FROM tblCanBo" UpdateCommand="Update tblCanBo SET HoVaTen=@HoVaTen, DiaChi=@DiaChi, SoDienThoai=@SoDienThoai Where MaCanBo=@MaCanBo" DeleteCommand="Delete tblCanBo where MaCanBo=@MaCanBo"> Tài liệu khóa học lập trình web với ASP.NET – Biên soạn: Nguyễn Minh Quý V1.0 – aptech@utehy.edu.vn; Tel: 0321-713.319 168 <asp:GridView runat="server" ID="DSCB" Width="100%" GridLines="both" DataKeyNames="MaCanBo" DataSourceID="SqlDataSource1" AutoGenerateColumns="false"> Địa chỉ: Điện thoại: Họ tên: <asp:TextBox runat="server" ID="txtHVT" Width="98%" Text= '' > Địa chỉ: <asp:TextBox runat="server" ID="txtDC" Width="98%" TextMode="MultiLine" Rows="5" Text=''> Điện thoại: <asp:TextBox runat="server" ID="txtDT" Width="98%" Text= ''> <asp:CommandField HeaderText="Sửa chữa" EditText=" Sửa" UpdateText="Lưu" ButtonType="Link" CancelText=" Hủy bỏ" ShowEditButton="true" /> <asp:CommandField HeaderText="Xóa" DeleteText=" Xóa" ButtonType="Link" ShowDeleteButton="true" /> Phần template cho chế độ thường (chưa sửa) Phần template cho chế độ soạn thảo (edit mode) Tài liệu khóa học lập trình web với ASP.NET – Biên soạn: Nguyễn Minh Quý V1.0 – aptech@utehy.edu.vn; Tel: 0321-713.319 169 Bài 4: Hiển thị thông tin trích ngang về người dùng trong bảng tblUser, trong đó dưới mỗi người dùng thêm một Hyperlink là "Xem chi tiết" để khi người dùng click vào hyperlink này thì mở trang UserDetail.aspx và hiển thị chi tiết thông tin về người dùng đó. Yêu cầu thêm: Danh sách này hiển thị làm 3 cột. Hướng dẫn: Để hiển thị thông tin dưới dạng cột, ta sử dụng điều khiển DataList. Trong mỗi Hyperlink ta sẽ tạo liên kết đến trang UserDetail.aspx và truyền cho trang này ID (trong trường hợp này là TenDangNhap) của người dùng tương ứng. Dựa vào ID này, trang UserDetail.aspx sẽ đọc (dùng Request.QueryString["TenNguoiDung"]) sau đó select thông tin ứng với ID đó và hiển thị. Minh họa: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="DataListControl.aspx.cs" Inherits="Lession_19_RepeaterControl" %> Danh sách cán bộ <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="" SelectCommand="SELECT * FROM tblUser"> <asp:DataList runat="server" ID="DataList1" DataSourceID="SqlDataSource1" RepeatDirection="Horizontal" RepeatColumns="3" RepeatLayout="Table"> Quyền hạn : <asp:Image Width="100px" Height="100px" runat="server" ImageUrl= '' /> '> Xem chi tiết Tài liệu khóa học lập trình web với ASP.NET – Biên soạn: Nguyễn Minh Quý V1.0 – aptech@utehy.edu.vn; Tel: 0321-713.319 170 Kết quả. Bài 4: Hiển thị danh sách người dùng dưới dạng cột và thực hiện phân trang. Hướng dẫn: Để thực hiện tạo các cột, có thể sử dụng điều khiển DataList, ngoài ra ta còn một điều khiển khác cũng rất mạnh cho phép hiển thị dưới dạng các cột nhưng có thêm khả năng phân trang, đó là: ListView controls. Các bước thực hiện: B1. Tạo nguồn dữ liệu SqlDataSource như những bài trước. B2. Tạo một ListView và gắn với nguồn dữ liệu SqlDataSource (như bài trước) B3. Cấu hình cho ListView (chọn smart tag), sau đó click chọn "Config ListView…" B4: Chọn các thông số như hình bên dưới. B5: Mở trang web. Lưu ý: Chúng ta hoàn toàn có thể thay đổi format của ListView bằng các vào Source code editor để sửa. Một cách phân trang khác là tạo một DataPager và gắn vào ListView, Khi đó ta chỉ cần đặt thuộc tính PagedControlID="ListView1". Cách này có ưu điểm là phần trang có thể đặt ở bất kỳ vị trí nào trên màn hình. Tài liệu khóa học lập trình web với ASP.NET – Biên soạn: Nguyễn Minh Quý V1.0 – aptech@utehy.edu.vn; Tel: 0321-713.319 171 Kết quả hiển thị
File đính kèm:
- Tài liệu khóa học lập trình ASP.NET.pdf