Tải bản đầy đủ (.pdf) (45 trang)

Bài 4 Công nghệ ASP.NET ppt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (315.79 KB, 45 trang )

Lê ðình Thanh, Công nghệ ASP.NET
Lê ðình Thanh
Bộ môn Mạng và Truyền thông Máy tính
Khoa Công nghệ Thông tin
Trường ðại học Công nghệ, ðHQGHN
Bài giảng
LẬP TRÌNH ỨNG DỤNG WEB
Lê ðình Thanh, Công nghệ ASP.NET
Công nghệ ASP.NET
Bài 4
Lê ðình Thanh, Công nghệ ASP.NET
Nội dung
• Kiến trúc của ứng dụng Web ñộng
• C# và ASP.NET
• ADO.NET
• Tạo dự án web ñộng
Lê ðình Thanh, Công nghệ ASP.NET
Web ñộng
• Nội dung trang web (HTML + CSS +
JavaScript) ñược Web Server sinh ra khi có
yêu cầu từ Client.
• Rất phổ dụng: Hầu hết các trang web thương
mại ñều là web ñộng.
• Sử dụng ngôn ngữ lập trình ña năng ñể sinh ra
nội dung web.
• Sử dụng CSDL.
Lê ðình Thanh, Công nghệ ASP.NET
Kiến trúc web ñộng
Lê ðình Thanh, Công nghệ ASP.NET
Web ñộng với CSDL
CSDL


Web
Server
Web
Browser
Database
Provider
http://www
Yêu cầu dữ liệu
Thao tác CSDL
Dữ liệu
Dữ liệu
Nội dung (HTML)
Lê ðình Thanh, Công nghệ ASP.NET
Công nghệ phát triển Web (ñộng)
• ða dạng và không ngừng ñược phát triển.
• Microsoft: ASP, ASP.NET
• Sun: Java Servelet, JSP.
• Khác: PHP
Lê ðình Thanh, Công nghệ ASP.NET
ASP.NET
Cơ bản về .NET Framework
và ASP.NET
Lê ðình Thanh, Công nghệ ASP.NET
Kiến trúc .Net Framework
Base Class Library
Base Class Library
Common Language Specification
Common Language Specification
Common Language Runtime
Common Language Runtime

ADO.NET: Data and XML
ADO.NET: Data and XML
Visual Studio.NET
Visual Studio.NET
ASP.NET: Web Services
ASP.NET: Web Services
and Web Forms
and Web Forms
Windows
Windows
Forms
Forms
Visual Basic
Visual Basic
®
C++
C++
C#
C#
JScript
JScript
®


Lê ðình Thanh, Công nghệ ASP.NET
Mô hình thực thi
Visual Basic
Visual Basic



ngu
ngu


n
n
Compiler
Compiler
C++
C++
C#
C#
Compiler
Compiler
Compiler
Compiler
Assembly
Assembly
IL Code
IL Code
Assembly
Assembly
IL Code
IL Code
Assembly
Assembly
IL Code
IL Code
Operating System Services
Operating System Services

Common Language Runtime
Common Language Runtime
JIT Compiler
JIT Compiler
Native Code
Native Code


trung
trung
gian
gian
Unmanaged
Unmanaged
Component
Component
Lê ðình Thanh, Công nghệ ASP.NET
Thực thi chương trình .NET

nguồn
.NET
Phiên dịch
MSIL
+
Siêu dữ liệu
Mã máy
Thực thi

CLR
Biên dịch lần 1

Biên dịch lần 2
Chương trình .NET ñược dịch 2 lần – lần thứ nhất chậm, lần
thứ hai nhanh hơn nhiều!
Lê ðình Thanh, Công nghệ ASP.NET
Ngôn ngữ trung gian của Microsoft

nguồn
.NET
Phiên dịch
MSIL
+
Siêu dữ liệu
Mã máy
Thực thi mã
CLR
MSIL
Ngôn ngữ trợ giúp
liên tác
IL không phải, nhưng rất
gần bytecode. Do vậy, khi
ứng dụng ñược thực thi,
chuyển ñổi từ IL sang mã
máy rất nhanh!
MSIL ñược chuyển ñổi
sang mã máy bởi CLR
Tập các lệnh ñộc lập máy
Lê ðình Thanh, Công nghệ ASP.NET
Thực thi ngôn ngữ chung

nguồn

.NET
Phiên dịch
MSIL
+
Siêu dữ liệu
Mã máy
Thực thi mã
CLR
CLR
Quản lý bộ nhớ
Dễ dàng thiết kế các
thành phần và ứng dụng
với những ñối tượng
ñược viết từ nhiều ngôn
ngữ khác nhau
Tích hợp các ngôn ngữ
(ñặc biệt kế thừa giữa
các ngôn ngữ)
Biên dịch một lần, và chạy trên
bất kỳ CPU & OS nào có hỗ trợ
CLR!
Lê ðình Thanh, Công nghệ ASP.NET
ASP.NET - Kiến trúc
ASPX
.ASPX
.ASPX
Lê ðình Thanh, Công nghệ ASP.NET
ASP.NET - Kiến trúc
.ASPX
.ASPX

Compiled
Compiled
Lê ðình Thanh, Công nghệ ASP.NET
ASP.NET - Kiến trúc
.ASPX
.ASPX
Compiled
Compiled
Lê ðình Thanh, Công nghệ ASP.NET
ASP.NET – ðặc ñiểm
• Hướng ñối tượng: Mỗi trang bao gồm hai
ñối tượng kế thừa nhau.
• Tách mã giao diện (HTML) với mã xử lý
bằng kỹ thuật Codebehind.
• ⇒ Dễ viết chương trình, tìm lỗi.
• ⇒ Giấu ñược mã (mã ñược dịch thành
DLL).
.aspx
.aspx.cs
Lê ðình Thanh, Công nghệ ASP.NET
ðối tượng Request
• ðối tượng Request nắm giữ HTTP request và cung
cấp các phương thức xử lý HTTP request.
• Mỗi trang .aspx ñều chứa ñối tượng Request như
một thuộc tính ñược kế thừa.
• Lấy ñối tượng Request bằng lệnh this.Request
• Hai thuộc tính và phương thức quan trọng nhất
của ñối tượng Request là:
– Lấy URL của tài liệu ñược yêu cầu:
this.Request.RawURL

– Lấy giá trị các tham số ñược truyền cùng URL:
this.Request.QueryString.Get(“ten_thamso”);
Lê ðình Thanh, Công nghệ ASP.NET
Request – Nhận giá trị tham số (1)
• Giả sử các tham số ñược truyền cùng URL là
• />• Trong Bantin.aspx.cs, chúng ta sử dụng các câu
lệnh sau ñể lấy giá trị cid và id
int cid =
Convert.ToInt32(this.Request.QueryString.Get(“cid”));
int id = Convert.ToInt32(this.Request.QueryString.Get(“id”));
Lê ðình Thanh, Công nghệ ASP.NET
Request – Nhận giá trị tham số (2)
• Giả sử các tham số trên form thuộc trang
Nhap.aspx ñược truyền cùng URL theo phương
thức POST là
• <form action = “Kiemtra.aspx”>
– <input type = “text” name = “hoten” width = “200”>
– <input type = submit value = “Chap nhan”>
• <form>
• Lấy họ tên do người dùng nhập (trong
Kiemtra.aspx.cs)
String sHoten = this.Request.QueryString.Get(“hoten”);
Lê ðình Thanh, Công nghệ ASP.NET
ðối tượng Response
• ðối tượng Response ñược sử dụng ñể sinh ra
HTTP response
• Mỗi trang .aspx ñều chứa ñối tượng Response như
một thuộc tính ñược kế thừa.
• Lấy ñối tượng Response bằng lệnh this.Response
• Hai phương thức quan trọng nhất của ñối tượng

Response là:
– Viết ra nội dung trang HTML:
this.Response.Write(object);
– Chuyển sang một trang khác:
this.Response.Redirect(url);
Lê ðình Thanh, Công nghệ ASP.NET
ðối tượng Response –Ví dụ
• this.Response.Write(“<h1>Xin chao</h1>”); sẽ in
ra HTML một ñề mục cấp 1 có nội dung “Xin
chao”
• int a = 200;
• this.Response.Write(a); sẽ in ra HTML văn bản có
nội dung “200”
• this.Response.Redirect(“Bantin.aspx?cid=10&id=1
23”); sẽ chuyển trình duyệt sang trang Bantin.aspx
và truyền hai tham số có tên là cid, id cùng giá trị
các tham số tương ứng là 10 và 123.
Lê ðình Thanh, Công nghệ ASP.NET
ASP.NET – ðặc ñiểm (2)
• Các ñiều khiển phía Server (server-side controls).
– ðược lưu trữ và quản lý trên Server
– Khi server xử lý, mỗi ñiều khiển phía server sinh ra một
ñiều khiển HTML (ñiều khiển phía client) rồi ñược gửi
sang client.
– Ví dụ:
• <asp:Button id="Button1" runat="server" Text="Tìm
kiếm"></asp:Button>
Khi ñược xử lý sinh ra ñiều khiển nút bấm HTML
• <input type = “button” name = “Button1” id = “Button1” value
= “Tìm kiếm”>

Lê ðình Thanh, Công nghệ ASP.NET
ASP.NET – ðặc ñiểm (3)
• Các ñiều khiển phía Server (server-side controls).
– AutoPostBack cho từng ñiều khiển: Tự ñộng ñệ trình
form chứa lên server khi giá trị của ñiều khiển thay ñổi.
Khi form ñược tự ñộng ñệ trình lên server, server xử lý
rồi lại tự ñộng gửi trang trở lại client.
• <asp:CheckBox id="CheckBox1" runat="server"
AutoPostBack="True" ></asp:CheckBox>
– ðể kiểm tra trang ñược tải (load) lần ñầu hay do
PostBack (gửi lại), chúng ta sử dụng thuộc tính
IsPostBack của trang
• Nếu IsPostBack == false, trang ñược tải lần ñầu
• Ngược lại, trang ñược gửi lại.
Lê ðình Thanh, Công nghệ ASP.NET
ASP.NET –
Hoạt ñộng với ñiều khiển
phía server có AutoPostBack = true
Yêu cầu lần thứ nhất
Trang kết quả xử lý
Tương tác với
ñiều khiển
trên giao diện
Trang với trạng thái
ñiều khiển ñã thay ñổi
Trang kết quả
xử lý thay ñổi
Tương tác khác
Client
Server

User
URL, tham số

Lê ðình Thanh, Công nghệ ASP.NET
ASP.NET – ðặc ñiểm (3)
• Với các ñiều khiển phía server và sử dụng ñặc tính
AutoPostBack của chúng, lập trình web ñược thực
hiện tương tự lập trình ứng dụng trên máy ñơn.
Tất cả xử lý lập trình ñược thực hiện trên server –
lập trình phía server (Dễ cài ñặt).
• Tuy nhiên, client không phát huy hết tác dụng xử
lý. (hạn chế)
• Trang liên tục ñược chuyển ñi, chuyển lại giữa
client và server => truyền thông tốn kém + không
thân thiện với người dùng (nháy, không liên tục).
Lê ðình Thanh, Công nghệ ASP.NET
Thuộc tính trang IsPostBack
• IsPostBack là thuộc tính của
System.Web.UI.Page là lớp cớ sở của bất
kỳ trang nào
• IsPostBack = false: trang ñược tải lần ñầu
• IsPostBack = true: trang ñược tải lại ở các
lần hai, ba, …
• Thường sử dụng IsPostBack trong phương
thức Page_Load ñể khởi tạo trạng thái ban
ñầu của trang.
Lê ðình Thanh, Công nghệ ASP.NET
Sự kiện Page_Load
• Load là sự kiện ñược phát sinh khi trang ñược tải
về (load)

• Ở mỗi trang, phương thức
private void Page_Load(object sender,
System.EventArgs e)
tự ñộng ñược gọi ñể ñáp ứng sự kiện Load.
Lê ðình Thanh, Công nghệ ASP.NET
Tạo giao diện trong ASP.NET
• Sử dụng các ñiều khiển phía server, bắt sự
kiện nhờ AutoPostBack (dễ viết chương
trình, chương trình hoạt ñộng nặng nề)
– ðiều khiển hiển thị
– ðiều khiển nhập liệu
– ðiều khiển kiểm tra
• Hoặc sử dụng các ñiều khiển phía client
thông thường + AJAX (phải viết nhiều hơn,
chương trình hoạt ñộng nhẹ nhàng)
Lê ðình Thanh, Công nghệ ASP.NET
Các ñiều khiển phía server
• ðiều khiển nội tại
– ánh xạ trực tiếp ñến các phần tử HTML ñơn
giản
• ðiều khiển danh sách
– trình bày các mục dữ liệu ở dạng danh sách
• ðiều khiển ña năng
– tạo các thành phần ñiều khiển có giao diện
phức tạp
• ðiều khiển kiểm tra
– kiểm tra sự hợp thức trong nhập liệu
Khi thực thi, mỗi ñiều khiển phía server sinh ra
một/một số phần tử HTML tương ứng + javascript kèm theo (nếu có)
Lê ðình Thanh, Công nghệ ASP.NET

ði

u
khi

n
ph
í
a
server
v
à
ph

n
t

HTML+javascript do chúng sinh ra
TT ðiều khiển phía server Phần tử HTML + javascript ñược sinh ra
1 <asp:Button id=“myid” text=“Button text”
OnClick = “hàm C# or VB #”
runat=server/>
<input type=“submit” value = “Button
text” onclick=”Hàm javascript” ….>
2 <asp:LinkButton id=’someId’ Text=”some
text” OnClick=” hàm C# or VB #”
runat=server/>
<a id=”someId” href=”
javascript:_doPostBack(….”> some
text </a>

3 <asp:ImageButton id= ’someId’
ImageURL=”image file name” OnClick=”
hàm C# or VB #” runat=server/>
<input type= “image” src=’file name’…>
4 <asp:HyperLink id=’someId’
NavigateURL=”an url” Text=”some text”
runat=server/>
<a id =”someId” href=”an url”>some text
</a>
5 <asp:TextBox id=“name” runat=”server”
Text=”some text”/>
<input type=“text” value=”some
text”….>
6 <asp:TextBox id=“name”
TextMode=“MultiLine” Text=”some
text” runat=server/>
<textarea id=“name” ….>some text
</textarea>
Lê ðình Thanh, Công nghệ ASP.NET
TT ðiều khiển phía server Phần tử HTML + javascript ñược sinh ra
7 <asp:CheckBox id =”someId” Text=”some
text” TextAlign=”left/right/center”
Checked = “True/False”
OnCheckedChanged=”C# function”
AutoPostBack=”True/False”
runat=”server” />
<input type =”checkbox” …
onchange=”javascript: ”>
8 <asp:RadioButton id =”someId”
GroupName=”group name” Text=”some

text” Checked = “True/False”
OnCheckedChanged=”C# function”
AutoPostBack=”True/False”
runat=”server” />
<input type=”radio” name=”group
name”… onchange=”javascript: ”>
9 <asp:DropDownList id =”someId”
runat=”server” OnSelectedChange=”C#
function” >
<asp:ListItem Value=”some string”
selected=”True/False”>Item text </
asp:ListItem>
<asp:ListItem Value=”some string”
selected=”True/False”>item text </
asp:ListItem>
</asp:DropDownList>
Một số thuộc tính và phương thức khác hay
ñư

c
d
ù
ng
:
<select name=”someId”
onchange=”javascript: ”>
<option value=”some string” …> item
text</option>
<option value=”some string” …> item
text</option>

</select>
Lê ðình Thanh, Công nghệ ASP.NET
runat
=

server

/>
9 <asp:DropDownList id =”someId”
runat=”server” OnSelectedChange=”C#
function” >
<asp:ListItem Value=”some string”
selected=”True/False”>Item text </
asp:ListItem>
<asp:ListItem Value=”some string”
selected=”True/False”>item text </
asp:ListItem>
</asp:DropDownList>
Một số thuộc tính và phương thức khác hay
ñược dùng:
.Items – mảng các mục
.Items.Count – số mục
.Items.Empty() – bỏ tất cả các mục
.Items.Add(ListItem item) – thêm mục mới
.Items.Add(“value”, “text”) – thêm mục mới
.Items[i]- lấy mục thứ i
.Items[i].Remove() – Bỏ mục thứ i
.SelectedItem- mục ñược chọn
.SelectedItem.Value – giá trị của mục ñược
chọn

.SelectedItem.Text - tên của mục ñược chọn
.SelectedValue – giá trị của mục ñược chọn
.SelectedName – tên của mục ñược chọn
<select name=”someId”
onchange=”javascript: ”>
<option value=”some string” …> item
text</option>
<option value=”some string” …> item
text</option>
</select>
10 <asp:Image id = “some id” ImageURL=”image
file name” AlternateText=”title text”
runat=”server” />
<image src=”image file name” title=”title
text”>
11
<
asp:Label
Text=

label text

runat
=

server

<span>label text </span>
Lê ðình Thanh, Công nghệ ASP.NETLê ðình Thanh, Tạo trang web ñộng
.

SelectedValue

gi
á
tr

c

a
m

c
ñư

c
ch

n
.SelectedName – tên của mục ñược chọn
10 <asp:Image id = “some id” ImageURL=”image
file name” AlternateText=”title text”
runat=”server” />
<image src=”image file name” title=”title
text”>
11 <asp:Label Text=”label text” runat=”server”
/>
<span>label text </span>
12 <asp:Panel id=”someId” runat=”server” /> <div>label text </div>
13 <asp:Table runat=”server” >
<asp:TableRow>

<asp:TableCell>cell content</asp:TableCell>
</asp:TableRow>
</asp:Table>
<table>
<tr>
<td>cell content</td>
</tr>
</table>
14 <asp:AdRotator AdvertisementFile=”.xml file”
OnAdCreated=”A_Create” runat=”server”
/>
.XML ad file
<Advertisements>
<Ad>
<ImageURL>image file </ImageURL>
<TargetUrl> url </TargetUrl>
<AlternateText> title text </AlternateText>
<Keyword>a word </Keyword>
<Captain>some text</Captain>
</Ad>
<Ad>
<ImageURL>image file </ImageURL>
<TargetUrl> url </TargetUrl>
<
AlternateText
> title text </
AlternateText
>
Nhiều phần tử HTML và hàm javacsript
ñược tạo

Lê ðình Thanh, Công nghệ ASP.NETLê ðình Thanh, Tạo trang web ñộng
</
asp:TableRow
>
</asp:Table>
</
tr
>
</table>
14 <asp:AdRotator AdvertisementFile=”.xml file”
OnAdCreated=”A_Create” runat=”server”
/>
.XML ad file
<Advertisements>
<Ad>
<ImageURL>image file </ImageURL>
<TargetUrl> url </TargetUrl>
<AlternateText> title text </AlternateText>
<Keyword>a word </Keyword>
<Captain>some text</Captain>
</Ad>
<Ad>
<ImageURL>image file </ImageURL>
<TargetUrl> url </TargetUrl>
<AlternateText> title text </AlternateText>
<Keyword>a word </Keyword>
<Captain>some text</Captain>
</Ad>
<Advertisements>
Nhiều phần tử HTML và hàm javacsript

ñược tạo
15 <asp:Calendar runat=”server”
OnSelectionChanged=”C# function”
OnVisibleMonthChanged =”C# function”
/>
Nhiều phần tử HTML và hàm javacsript
ñược tạo
16 <asp:CheckBoxList>
Có các thuộc tính và phương thức tựa
DropDownList
Danh sách các nút kiểm
Lê ðình Thanh, Công nghệ ASP.NET
<Ad>
<ImageURL>image file </ImageURL>
<TargetUrl> url </TargetUrl>
<AlternateText> title text </AlternateText>
<Keyword>a word </Keyword>
<Captain>some text</Captain>
</Ad>
<Ad>
<ImageURL>image file </ImageURL>
<TargetUrl> url </TargetUrl>
<AlternateText> title text </AlternateText>
<Keyword>a word </Keyword>
<Captain>some text</Captain>
</Ad>
<Advertisements>
15 <asp:Calendar runat=”server”
OnSelectionChanged=”C# function”
OnVisibleMonthChanged =”C# function”

/>
Nhiều phần tử HTML và hàm javacsript
ñược tạo
16 <asp:CheckBoxList>
Có các thuộc tính và phương thức tựa
DropDownList
Danh sách các nút kiểm
17 <asp:RadioButtonList>
Có các thuộc tính và phương thức tựa
DropDownList
Danh sách các nút radio
Lê ðình Thanh, Công nghệ ASP.NET
ðiều khiển kiểm tra nhập liệu
• ASP.NET có các ñiều khiển chuyên dùng
ñể kiểm tra nhập liệu.
– Mỗi ñiều khiển kiểm tra nhập liệu (
trừ ñiều khiển
tổng hợp lỗi – ValidationSummary
) dùng ñể kiểm tra
dữ liệu ñược nhập vào một ñiều khiển nhập liệu
(
TextBox, RadioButton, CheckBox, …
) theo một tiêu
chí nào ñó (
buộc phải nhập, dữ liệu nhập phải nằm
trong ñoạn nào ñó, dữ liệu nhập không thể là chữ, …)
ðiều khiển nhập liệu
ðiều khiển
kiểm tra
Tiêu chí dữ liệu nhập

*
Lê ðình Thanh, Công nghệ ASP.NET
ðiều khiển kiểm tra nhập liệu
ðiều khiển
nhập liệu 1
ðiều khiển
nhập liệu 2
ðiều khiển
nhập liệu n
ðiều khiển
kiểm tra 1
ðiều khiển
kiểm tra 2
ðiều khiển
kiểm tra 3
ðiều khiển
kiểm tra m
ValidationSummary
Báo cáo lỗi
Lê ðình Thanh, Công nghệ ASP.NET
ðiều khiển kiểm tra nhập liệu
RequiredFieldValidator
CompareValidator
RangeValidator
RegularExpressionValidator
CustomValidator
ValidationSummary
Tổng hợp các báo cáo lỗi
Dữ liệu phải
ñược nhập

So sánh dữ liệu
nhập
Dữ liệu nhập phải
nằm trong khoảng
nào ñó
Dữ liệu nhập phải
thỏa quy tắc miêu tả/
cú pháp nào ñó
Tự ñịnh nghĩa hàm
kiểm tra
Lê ðình Thanh, Công nghệ ASP.NET
RequiredFieldValidator
• Kiểm tra dữ liệu ñược nhập vào ñiều khiển nhập
liệu hay chưa
<asp:
RequiredFieldValidator id=“myRFV”
controlToValidate = “
id_dieu_khien_duoc_kiem_tra

errorMessage = “
Thong bao loi neu khong nhap

display = “static|dynamic|none” runat=server>
</asp:
RequiredFieldValidator>
Lê ðình Thanh, Công nghệ ASP.NET
CompareValidator
• So sánh dữ liệu ñược nhập với giá trị ñịnh trước
hoặc với giá trị của ñiều khiển khác
<asp:

CompareValidator id=“myCV”
controlToValidate = “
id_dieu_khien_duoc_kiem_tra

controlToCompare = “
id_dieu_khien_duoc_so_sanh

type = “
String|Integer|Double|DateTime|Currency

operator = “
Equal|NotEqual|Greater|…|DataTypeCheck

errorMessage = “
Thong bao loi neu bieu thuc so sanh sai

display = “static|dynamic|none” runat=server>
</asp:
CompareValidator>
Lê ðình Thanh, Công nghệ ASP.NET
RangeValidator
• Kiểm tra dữ liệu ñược nhập có giá trị trong khoảng
xác ñịnh
<asp: Range
Validator id=“myRV”
controlToValidate = “
id_dieu_khien_duoc_kiem_tra

type = “
String|Integer|Double|DateTime|Currency


minimumValue = “giá trị bé nhất”
maximumValue = “giá trị lớn nhất”
errorMessage = “
Thông báo lỗi nếu giá trị nhập ngoài khoảng

display = “static|dynamic|none” runat=server>
</asp: Range
Validator >
Lê ðình Thanh, Công nghệ ASP.NET
RegularExpressionValidator
• Kiểm tra dữ liệu ñược nhập có ñúng theo
một ñịnh dạng ñược mô tả hay không
<asp:
RegularExpressionValidator
id=“myREV” controlToValidate =
“id_dieu_khien_duoc_kiem_tra”
validationExpression =

Biểu thức mô tả ñịnh dạng dữ
liệu nhập
” errorMessage = “
Thong bao loi neu
khong nhap
” display =
“static|dynamic|none” runat=server>
</asp:
RegularExpressionValidator >
Biểu thức kiểm tra là một xâu ký tự mô tả ñịnh dạng dữ liệu ñược nhập,
sử dụng các ký pháp: . - Một ký tự bất kỳ, * - Một chuỗi ký tự bất kỳ,

\d - Một chữ số, [s1-s2] - Một ký tự từ s1 ñến s2, …
Lê ðình Thanh, Công nghệ ASP.NET
CustomValidator
• Kiểm tra dữ liệu ñược nhập bằng một hàm tự ñịnh nghĩa
<asp:
CustomValidator id=“myREV”
controlToValidate = “
id_dieu_khien_duoc_kiem_tra

onServerValidationFunction =

Hàm kiểm tra trên Server, bằng C# hay VB.NET

onClientValidationFunction =

Hàm kiểm tra trên Client, bằng JavaScript

errorMessage = “
Thong bao loi neu khong nhap

display = “static|dynamic|none” runat=server>
</asp:
CustomValidator >
Lê ðình Thanh, Công nghệ ASP.NET
Thuộc tính Page.isValid
• Ban ñầu
Page.isValid
= true
• Nếu các ñiều khiển kiểm tra bắt ñược lỗi, chúng sẽ ñặt
Page.isValid = false.

• Sử dụng:
if (Page.isValid)
{
//Xử lý nghiệp vụ thông thường
}
else
{
//Xử lý lỗi
}
Lê ðình Thanh, Công nghệ ASP.NET
ADO.NET
Kiến trúc ADO.NET
Truy vấn, cập nhật phổ biến
Lê ðình Thanh, Công nghệ ASP.NET
ADO.NET – Kiến trúc
_Connection
_Command
Parameter
_DataAdapter
DataSet
DataTable
.Connection
_Parameter
.Parameters
.SelectCommand
.InsertCommand
.DeleteCommand
.UpdateCommand
DataTable
.Tables

. Fill()
_: Sql, Odbc, OleDb
_DbType
<<uses>>
Lê ðình Thanh, Công nghệ ASP.NET
ADO.NET – Các gói
• System.Data Các lớp dữ liệu
• System.Data.Common Các lớp chung
• System.Data.Odbc Các lớp làm việc với
CSDL thông qua ODBC
• System.Data.OleDb Các lớp làm việc với
CSDL thông qua OLEDB
• System.Data.SqlClient Các lớp làm việc với
CSDL SQL Server
• System.Data.SqlTypes Các lớp ñịnh kiểu dữ liệu
SQL
Lê ðình Thanh, Công nghệ ASP.NET
ADO.NET – DataSet
Authors
Authors
Authors
Connection
Connection
Database
Database
DataAdapter
DataAdapter
DataSet
DataSet
Select

Select


from Authors
from Authors
Authors
Authors
Lê ðình Thanh, Công nghệ ASP.NET
ADO.NET - DataSet
Publishers
Publishers
Publishers
Connection
Connection
Database
Database
DataAdapter
DataAdapter
DataSet
DataSet
Select
Select


from
from
Publishers
Publishers
Authors
Authors

Publishers
Publishers

×