Giới thiệu ASP.NET là công nghệ xử lý web phía máy chủ, độc lập với mọi trình duyệt, Kỹ thuật áp dụng là cho phép mọi thực thi được thực hiện ở trình chủ, tức là trình chủ phải xử lý
Trang 1TẬP BÀI GIẢNG LẬP TRÌNH ỨNG DỤNG WEB
GV: Nguyễn Thị Thanh Thuận Nguyễn Bá Phúc
Trang 21.2.1.1 Thiết kế giao diện 7
1.2.1.2 Mã nguồn xử lý 8
1.2.2 Lưu lại trang web 8
1.2.3 Biên dịch và chạy ứng dụng web 9
1.2.4 Mở ứng dụng Web 10
1.2.5 Thêm trang web mới 11
1.3 IsPostBack 12
Chương 2: Web Control 13
2.1 Giới thiệu 13
2.2 HTML Server Control 13
2.3 ASP.NET Web Control 13
2.4 ASP.NET List Control 16
2.6 ASP.NET Validation Control 20
2.6.1 RequiredFieldValidator 20
2.6.2 RangeValidator 20
2.6.3 CompareValidator 20
2.6.4 RegularExpressionValidator 21
2.6.5 CustomValidator 21
2.6.6 ValidationSummary 21
Chương 3: Master Page, CSS, User Control 22
3.1 Master Page và Style Sheet 22
3.1.2 Tạo trang Master page 22
3.1.2.1 Tạo thư mục cho trang Master Page 22
3.1.2.3 Thiết kế trang layout 23
3.1.3 Cascading Style Sheets (CSS) 24
3.1.3.1 Dùng Style cho Master Page 24
3.1.3.2 Dùng Style cho ContentPlaceHolder 25
Trang 33.2 Web User Control 27
3.2.1 Tạo một Web User Control 27
3.2.2 Sử dụng Web User Control 28
Chương 4: Các đối tượng trong ASP.NET 29
4.1 ViewState 29
4.2 Response 29
4.3 Request 29
4.4 Application 30
4.5 Session 30
4.6 Cookies 31
4.7 Server 32
4.8 Exception 34
Chương 5: Kết nối dữ liệu với ADO.NET 36
5.1 Giới thiệu 36
5.2 Các đối tượng trong ADO.NET 36
5.2.1 Connection 36
5.2.2 Command 36
5.2.2.1 Thuộc tính 36
5.2.2.2 Phương thức 37
5.2.3 DataReader 37
5.2.4 DataAdapter 38
5.2.5 DataSet 38
5.2.6 DataTable 38
5.2.7 DataView 38
5.3 Kết nối dữ liệu trong ASP.NET 38
5.3.1 Thêm 38
5.3.2 Xoá 39
5.3.3 Hiệu chỉnh 40
Chương 6: Điều khiển liên kết dữ liệu 43
6.1 Giới thiệu 43
6.2 GridView 43
6.3 DataList 45
6.3.1 Các thành phần của DataList 46
6.3.2 Tạo điều khiển DataList 46
6.3.3 Tạo nguồn dữ liệu cho DataList dùng AccessDataSource 47
Trang 47.1.1 Hướng dẫn cài đặt IIS cho windows 2000, XP 64
7.1.3 Trang Web đầu tay 68
7.1.4 Quản lý trình chủ Web Server 70
7.2 Javascript trong ASP.NET 73
7.3 AJAX 84
7.3.1 Giới thiệu 84
7.3.1.1 Tổng quan về mô hình ứng dụng Web 84
7.3.1.2 Giới thiệu về AJAX 85
7.3.2 Kỹ thuật lập trình AJAX 86
7.3.2.1 Xử lý hệ khách (Client) 86
7.3.2.2 Xử lý hệ phục vụ (Server) 88
7.3.3 Ví dụ 89
7.4 Web Service 94
7.4.1 Giới thiệu 94
7.4.2 Đặc điểm 95
7.4.3 Kiến trúc của Web Services 95
7.4.4 Các thành phần của Web Service 95
7.4.5 Ví dụ xây dựng web service đơn giản 96
Trang 5Chương 1: Giới thiệu ASP.NET
1.1 Giới thiệu
ASP.NET là công nghệ xử lý web phía máy chủ, độc lập với mọi trình duyệt,
Kỹ thuật áp dụng là cho phép mọi thực thi được thực hiện ở trình chủ, tức là trình chủ phải xử
lý nhiều vấn đề cùng lúc cho nhiều người dùng trình chủ phải có cấu hình mạnh và băng thông tốt Tương thích với asp 3.0
1.2 Xây dựng ứng dụng web đơn giản
1.2.1 Tạo ứng dụng web
- Vào menu Start -> Programs -> Microsoft Visual Studio 2005 -> Microsoft Visual Studio 2005
- Giao diện Visual Studio 2005 có dạng như sau:
- Vào menu File->New->Website
Trang 6- Chọn ASP.NET Web Site trong Templates
Cuối cùng click chuột vào nút OK để tiến hành tạo Web Site
Trang 71.2.1.1 Thiết kế giao diện
* Thiết kế giao diện ở chế độ Source
- Sử dụng các thẻ HTML để thiết kế
- Trong chỉ thị @Page các thuộc tính:
+ Language: ngôn ngữ sử dụng + CodeFile: tập tin mã nguồn xử lý + Inherits: lớp
* Thiết kế giao diện ở chế độ Design
- Sử dụng các control trên thanh công cụ Toolbox để thiết kế
- Thanh công cụ Toolbox bao gồm tập hợp các điều khiển web (web control) dùng để xây dựng ứng dụng web chia ra thành các nhóm control sau:
+ Standard: là những điều khiển chuẩn của web form như: Label, Button,
TextBox
+ Data: là những điều khiển cho phép thao tác với dữ liệu + Validation: là những điều khiển cho phép kiểm tra tính hợp lệ của các điều
khiển nhập dữ liệu trên web form
+ Navigation: là những điều khiển cho phép di chuyển giữa các trang trong
cùng website
+ Login: là những điều khiển liên quan đến bảo mật của ứng dụng web như đăng
nhập, thay đổi mật khẩu,…
+ HTML: là những điều khiển của tài liệu HTML và có thể được chuyển thành các
điều khiển làm việc trên server (HTML Server Control)
Trang 81.2.1.2 Mã nguồn xử lý
- Phương thức Page_Load được gọi mỗi khi trang aspx được tải (load)
- Giao diện mã nguồn ở chế độ Code C#:
1.2.2 Lưu lại trang web
Để lưu lại các trang web đã tạo trong website, vào menu File -> Save All hoặc nhấn tổ hợp phím Ctrl+Shift+S
Trang 9Nếu một số trang web có sử dụng chữ Tiếng Việt Unicode thì trong quá trình lưu các trang web, Visual Studio sẽ yêu cầu lưu lại trang web với kiểu mã hoá Unicode
Chọn Save With Other Encoding
Trong Encoding chọn Unicode (UTF-8 with signature) – Codepage 65001
1.2.3 Biên dịch và chạy ứng dụng web
Để biên dịch và chạy ứng dụng web vào menu Debug -> Start Debugging hoặc nhấn phím F5
Trang 101.2.4 Mở ứng dụng Web
Để mở một ứng dụng web, vào menu File -> Open -> Website
Trang 111.2.5 Thêm trang web mới
Trong Solution Explorer, click phải vào Website, chọn Add New Item…
Trong Templates, chọn Web Form, sau đó nhập tên trang web vào ô Name và click vào
OK
Trang 12if (!IsPostBack)
{
//các câu lệnh chỉ muốn thực thi 1 lần khi trang được nạp lần đầu tiên }
}
Ghi chú:
Trong biểu thức logic của cấu trúc if trên
Trang 13Chương 2: Web Control
2.1 Giới thiệu
2.2 HTML Server Control
2.3 ASP.NET Web Control
2.3.1 Label (<asp:Label>)
Thuộc tính Diễn giải
ID Nhận dạng điều khiển
Text Nội dung hiển thi
Visible Cho phép hiển thị hay không (true/false)
Trang aspx:
< asp : Label ID ="Label1" runat ="server" Text ="Label"></ asp : Label >
Trang aspx.cs:
protected void Page_Load( object sender, EventArgs e)
{
}
2.3.2 TextBox (<asp:TextBox>)
Thuộc tính Diễn giải
TextMode SingleLine(mặc định), Multiline
(rows,columns), Password
AutoPostBack Tự động PostBack lên Server khi Textbox có
thay đổi, mặc định là False AutoCompleteType None / Disabled / Company / …
Focus()
2.3.3 Button (<asp:Button>)
Tương đương thẻ <input> có type=submit
Trang aspx:
< asp : Button ID ="txtLuu" runat ="server" Text ="Lưu"
2.3.4 RadioButton (<asp:RadioButton>)
Trang 14NavigateUrl Đường dẫn liên kết
2.3.6 Calendar (<asp:Calendar>)
Trang aspx:
< asp : Calendar ID ="Calendar1" runat ="server"
OnSelectionChanged ="Calendar1_SelectionChanged"> </ asp : Calendar >
Trang aspx.cs:
protected void Calendar1_SelectionChanged( object sender,
EventArgs e)
{
Label1.Text = Calendar1.SelectedDate.ToString();
}
2.3.7 CheckBox (<asp:CheckBox>)
Thuộc tính:
ID: định danh Text: nội dung hiển thị
Checked: cho biết trạng thái của mục chọn (có được chọn hay không)
AutoPostBack: thuộc tính này cho biết có được phép tự động PostBack về Server khi các mục chọn của điều khiển bị thay đổi Gía trị mặc định của thuộc tính này là false
Trang 15* Trang aspx
<asp:Label ID ="Label1" runat ="server"> Sở thích: </asp:Label><br />
<asp:Button ID ="btn_Chon" runat ="server" Text ="Chọn"
OnClick ="btn_Chon_Click" />
<br />
<div id ="txt_HienThi" runat ="server"/>
* Trang aspx.cs
protected void btn_Chon_Click( object sender, EventArgs e)
{
s = "" ;
s = s + SoThich3.Text;
//Xuất kết quả
txt_HienThi.InnerText = s;
}
2.3.8 Image (<asp:Image>)
Trang 16Trang aspx
<asp:Image ID ="Image1" runat ="server"
ImageUrl ="~/BaiGiang3/Hinh/Garden.jpg" Height ="228px" Width ="306px" />
2.4 ASP.NET List Control
Thuộc tính Diễn giải
thì trang web sẽ không được triệu gọi cho đến khi dùng submit
True: Trang web sẽ submit mỗi khi người dùng thay đổi giá trị của ListControl
ListControl
dụng thuộc tínhSelectedcủa đối tượngListItem
2.4.1 RadioButtonList (<asp:RadioButtonList>)
Trang aspx:
< form id ="form1" runat ="server">
Trang 17< asp : RadioButtonList ID ="RadioButtonList1" runat ="server"
RepeatDirection ="Horizontal">
Text ="Button" />
< asp : Label ID ="Label1" runat ="server" Text ="Label"></ asp : Label >
</ form >
Trang aspx.cs:
protected void Button1_Click( object sender, EventArgs e)
{
Label1.Text = RadioButtonList1.SelectedValue;
}
2.4.2 DropDownList (<asp:DropDownList>)
Trang aspx:
< asp : DropDownList ID ="DropDownList1" runat ="server" AutoPostBack ="True"
OnSelectedIndexChanged ="DropDownList1_SelectedIndexChanged">
</ asp : DropDownList >
< asp : DropDownList ID ="DropDownList2" runat ="server" Visible ="False">
</ asp : DropDownList >
Trang aspx.cs:
protected void DropDownList1_SelectedIndexChanged( object sender, EventArgs e) {
DropDownList2.DataSource = C; }
DropDownList2.DataSource = T;
DropDownList2.DataBind();
}
2.4.3 CheckBoxList (<asp:CheckBoxList>)
Trang 18Trang aspx
<asp:CheckBoxList ID ="cbl_SoThich" runat ="server"
RepeatDirection ="Horizontal">
OnClick ="btn_Chon_Click"/>
<br />
Trang aspx.cs
protected void btn_Chon_Click( object sender, EventArgs e) {
s = "" ;
{
s = s + list.Text;
}
}
2.4.4 ListBox (<asp:ListBox>)
Trang 19SelectionMode Single/Multiple: chọn một/nhiều phần tử cùng lúc
Trang aspx:
< asp : ListBox ID ="ListBox1" runat ="server"></ asp : ListBox >
Trang aspx.cs:
{
ListBox1.Items.Add(i.ToString());
}
Trang aspx:
Sở thích:
< asp : ListBox ID ="ListBox1" runat ="server" Rows ="6"
SelectionMode ="Multiple">
Trang aspx.cs:
protected void Button1_Click( object sender, EventArgs e)
{
Label1.Text = "Bạn đã chọn:";
foreach ( ListItem li in ListBox1.Items)
{
if (li.Selected == true )
Label1.Text += li.Text + " ";
}
}
2.5 FileUpload Control (<asp:FileUpload>)
Trang aspx:
<asp:FileUpload ID="FileUpload1"runat="server"/>
<asp:Button ID="Button1"runat="server"OnClick="Button1_Click" Text="Lưu"/>
Trang aspx.cs:
protected void Button1_Click( object sender, EventArgs e)
{
FileUpload1.SaveAs(Server.MapPath("hinh")+"\\" +FileUpload1.FileName); }
Trang 20 ErrorMessage: chuỗi lỗi phát sinh nếu kiểm tra không hợp lệ.
khiển được thực hiện Gán True nếu muốn kiểm tra dữ liệu nhập bằng các Validation Control, false vô hiệu hóa quá trình kiểm tra
của điều khiển trên phía trình khách (JavaScript)
2.6.1 RequiredFieldValidator
Kiểm tra điều khiển không được rỗng
Trang aspx:
< asp : RequiredFieldValidator ID ="RequiredFieldValidator1"
runat ="server" ControlToValidate ="txtTen" ErrorMessage ="chưa nhập">
</ asp : RequiredFieldValidator >
2.6.2 RangeValidator
Kiểm tra điều khiển phải là chuỗi, số, ngày, … Nếu rỗng thì không kiểm tra
Thuộc tính: MaximumValue, MinimumValue, Type (String, Interger, Date, …), …
Trang aspx:
< asp : RangeValidator ID ="RangeValidator1" runat ="server"
ControlToValidate ="TextBox1" ErrorMessage ="Từ 1 đến 10 triệu"
MaximumValue ="10000000" MinimumValue ="1" > </ asp : RangeValidator >
2.6.3 CompareValidator
So sánh điều khiển này với điều khiển khác hay một giá trị cụ thể Nếu rỗng thì không kiểm tra
Thuộc tính: ControlToCompare, Operator(Equal, GreaterThan, LessThan, …), Type,
Trang aspx:
< asp : CompareValidator ID ="CompareValidator1" runat ="server"
ControlToCompare ="txtMatKhau" ControlToValidate ="txtMatKhauLai"
ErrorMessage ="không giống " Display ="Dynamic">