56
Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái

Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Embed Size (px)

DESCRIPTION

1. Kiểm tra tính hợp lệ của dữ liệu 2. Quản lý trạng thái

Citation preview

Page 1: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Bài 3:Kiểm tra tính hợp lệ của dữ liệu &

Quản lý trạng thái

Page 2: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Các nội dung đã học trong bài trước:Điều khiểnLàm việc với điều khiển Web Server

Hệ thống bài cũ

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 2

Page 3: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Mục tiêu bài học

1. Kiểm tra tính hợp lệ của dữ liệu

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 3

2. Quản lý trạng thái

Page 4: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 4

Page 5: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Điều khiển Validation

Dữ liệu nhập vào Web Formluôn phải thỏa mãn mộtđiều kiện ràng buộc.Điều khiển Validationcung cấp cách thức đểkiểm tra tính hợp lệ củadữ liệu nhập trên WebForm.

Điều khiển Validation

RequiredFieldValidator

CompareValidator

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 5

Dữ liệu nhập vào Web Formluôn phải thỏa mãn mộtđiều kiện ràng buộc.Điều khiển Validationcung cấp cách thức đểkiểm tra tính hợp lệ củadữ liệu nhập trên WebForm.

RangeValidator

RegularExpressionValidator

CustomValidator

ValidationSummaryRequiredFieldValidator

Page 6: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Các loại điều khiển Validation &Trường hợp sử dụng

Điều khiển Trường hợp sử dụng

RequiredFieldValidator - Với các điều khiển yêu cầu nhập liệu

CompareValidator - So sánh giá trị được nhập vào điềukhiển với: Một hằng số hoặc Giá trị củamột điều khiển khác- Kiểm tra kiểu dữ liệu được nhập vàođiều khiển

RangeValidator - Bắt buộc giá trị nhập vào điều khiểnphải thỏa mãn một khoảng cho trước

Validator

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 6

RangeValidator - Bắt buộc giá trị nhập vào điều khiểnphải thỏa mãn một khoảng cho trước

RegularExpressionValidator - Bắt buộc giá trị nhập vào phải so khớpvới một biểu thức được chỉ định sẵn

CustomValidator - Bắt buộc giá trị nhập vào phải thỏamãn mã kiểm tra tính hợp lệ tự địnhnghĩa

ValidationSummary - Tổng kết tất cả các lỗi của tất cả cácValidator trên trang

Page 7: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Kiểm tra tính hợp lệ của một điều khiển bằng cách nào?Liên kết điều khiển đó với một điều khiển Validation

Kiểm tra tính hợp lệcủa một điều khiển như thế nào?

Điều khiển nhậpliệu

Điều khiểnValidation

1 0…n

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 7

- Mỗi điều khiển Validation chỉ kiểm chứng dữ liệu củamột điều khiển nhập liệu- Một điều khiển nhập liệu có thể liên kết với nhiều điềukhiển Validation

Page 8: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Thuộc tính Mô tả

ControlToValidate ID của điều khiển nhập liệu được kiểm tra hợp lệ

Display Cách hiển thị thông báo lỗi. Có 3 giá trị (Static, Dynamic, None)- Nếu sử dụng nhiều Validator cho một điều khiển. Gán giá trịDynamic cho thuộc tính này

ErrorMessage/Text - Giá trị thuộc tính Text sẽ hiển thị trên Validator, giá trị thuộc tínhErrorMessage sẽ hiển thị trên điều khiển ValidationSumary.- Nếu thuộc tính Text không được thiết lập giá trị. Cả Validator vàđiều khiển ValidationSumary đều hiển thị giá trị của ErrorMessage.

Các thuộc tính cơ bản của Validator

- Giá trị thuộc tính Text sẽ hiển thị trên Validator, giá trị thuộc tínhErrorMessage sẽ hiển thị trên điều khiển ValidationSumary.- Nếu thuộc tính Text không được thiết lập giá trị. Cả Validator vàđiều khiển ValidationSumary đều hiển thị giá trị của ErrorMessage.

Enabled Kích hoạt/ vô hiệu điều khiển Validation

EnableClientScript Kích hoạt/ vô hiệu kiểm tra hợp lệ ở Client

ValidationGroup Gom nhóm các Validator

SetFocusOnError Thiết lập Focus cho điều khiển khi dữ liệu nhập vào không hợp lệ

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 8

Page 9: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Nội dung demoDemo cách liên kết điều khiển RequiredFieldValidator &điều khiển CompareValidatior cho các điều khiển nhập liệuThiết lập giá trị cho các thuộc tính thường dùngĐịnh dạng màu cho điều khiển Validation

DemoKiểm tra tính hợp lệ của dữ liệu

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 9

<asp:RequiredFieldValidator ID="valReqCfmPassword" runat="server"ControlToValidate="txtCfmPassword"ErrorMessage="Confirm PassWord is Required"ForeColor="#FF3300" Display="Dynamic">

</asp:RequiredFieldValidator>

Page 10: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Quá trình ASP.NETkiểm tra tính hợp lệ của dữ liệu

Người dùng nhậpliệu

Hiển thị thôngbáo lỗi

Người dùng nhậpliệu

Hiển thị thông báo lỗi

Trình duyệt hỗ trợ DHTML, dữ liệuđược kiểm chứng tại Client

Trình duyệt không hỗ trợ DHTML,dữ liệu được kiểm chứng tại Server

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 10

Người dùng Clickvào button

Client kiểmtra dữ liệu

Không hợp lệHợp lệ

Dữ liệu chuyển tớiServer để xử lý tiếp

Người dùng nhậpliệu

Người dùng Clickvào button

Server kiểm tra dữliệu sau quá trình

khởi tạo trang

Không hợp lệHợp lệ

Dữ liệu chuyển tớiServer để xử lý tiếp

Page 11: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Sử dụng với các điều khiển bắt buộc người dùng nhậpliệuCác điều khiển có thể sử dụng Required Field Validator

TextBox, drop-down List, ListBox, Radio button List, Checkbox list

Thuộc tính quan trọng: InitialValueGán bằng giá trị mặc định (được thiết lập ở thuộc tínhText) của điều khiển được kiểm traNếu giá trị này không được người dùng thay đổi, Validationthất bại

Required Field Validator

Sử dụng với các điều khiển bắt buộc người dùng nhậpliệuCác điều khiển có thể sử dụng Required Field Validator

TextBox, drop-down List, ListBox, Radio button List, Checkbox list

Thuộc tính quan trọng: InitialValueGán bằng giá trị mặc định (được thiết lập ở thuộc tínhText) của điều khiển được kiểm traNếu giá trị này không được người dùng thay đổi, Validationthất bại

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 11

Page 12: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Nội dung demoBắt buộc người dùng nhập liệu trên Text box NameBắt buộc người dùng sửa giá trị mặc định trên Text boxBirth dateBắt buộc người dùng chọn một giá trị trên List box

DemoSử dụng Required Field Validator

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 12

Giao diện trang lúc ban đầu Các thông báo lỗi được hiển thị khi ngườidùng không nhập liệu vào text box Name vàkhông thay đổi giá trị mặc định của text boxBirthDate & List box Credit Card

Page 13: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Thực hiện:Thêm Required Validator cho hai text box & List boxGán giá trị cho thuộc tính InitialValue cho hai Validator củatext box Birth date & List box credit Card bằng giá trị mặcđịnh của text box và List box này

DemoSử dụng Required Field Validator

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 13

<asp:RequiredFieldValidator ID="valCreditCard" runat="server"ControlToValidate="lstCreditCard“ ErrorMessage="You must select a credit card type"

ForeColor="#FF3300“ InitialValue="0“ ></asp:RequiredFieldValidator>

Page 14: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Sử dụng khi nào???So sánh giá trị điều khiển nhập liệu với hằng số hoặc giátrị của một điều khiển khácKiểm tra kiểu dữ liệu nhập vào điều khiển nhập liệu

Compare Validator

Sử dụng khi nào???So sánh giá trị điều khiển nhập liệu với hằng số hoặc giátrị của một điều khiển khácKiểm tra kiểu dữ liệu nhập vào điều khiển nhập liệu

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 14

Page 15: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Thuộc tính của riêng điều khiển CompareValidator

Compare Validator

Thuộc tính Mô tả

ValueToCompare Giá trị sử dụng để so sánh với điều khiển

Operator Loại so sánh(Equal, GreaterThan…DatatypeCheck)

Type - Kiểu dữ liệu sử dụng để so sánh(String, Iteger…)- Chỉ sử dụng thuộc tính này khi thuộc tính Operator = DattatypeCheck

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 15

Type - Kiểu dữ liệu sử dụng để so sánh(String, Iteger…)- Chỉ sử dụng thuộc tính này khi thuộc tính Operator = DattatypeCheck

ControlToCompare ID của điều khiển sử dụng để so sánh

Sử dụng thuộc tính như thế nào???So sánh với hằng số: Sử dụng thuộc tính ValueToCompare + Operator +TypeSo sánh với điều khiển khác: Thuộc tính ControlToCompare + Operator +TypeKiểm tra kiểu dữ liệu: Thuộc tính Operator (=DataCheckType) + Type

Page 16: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Nội dung demo:Bắt buộc dữ liệu trên text box Quantity phải là một sốnguyên lớn hơn hoặc bằng 0Bắt buộc Text box End Date phải là ngày lớn hơn StartDate

DemoSử dụng Compare Validator

Nội dung demo:Bắt buộc dữ liệu trên text box Quantity phải là một sốnguyên lớn hơn hoặc bằng 0Bắt buộc Text box End Date phải là ngày lớn hơn StartDate

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 16

Page 17: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Thực hiệnTạo ba điều khiển Compare Validator

Điều khiển thứ nhất: So sánh Quantity với giá trị 0Điều khiển thứ hai: Kiểm tra kiểu dữ liệu của trường Quantitylà IntegerĐiều khiển thứ ba: So sánh End Date với Start Date

DemoSử dụng Compare Validator

Thực hiệnTạo ba điều khiển Compare Validator

Điều khiển thứ nhất: So sánh Quantity với giá trị 0Điều khiển thứ hai: Kiểm tra kiểu dữ liệu của trường Quantitylà IntegerĐiều khiển thứ ba: So sánh End Date với Start Date

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 17

Chú ý khi sử dụng Compare ValidatorPhải sử dụng kết hợp với điều khiển Required Field Validator

Page 18: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Sử dụng khi nào???Kiểm tra xem giá trị do người dùng nhập vào có nằm trongkhoảng được chỉ định

Thuộc tính riêng của điều khiển Range Validator

Range Validator

Thuộc tính Mô tả

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 18

Thuộc tính Mô tả

MinimumValue Giá trị nhỏ nhất mà điều khiển được phép nhập

MaximumValue Giá trị lớn nhất mà điều khiển được phép nhập

Type Kiểu dữ liệu sử dụng để so sánh (String, Integer, Date…)

Page 19: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Range Validator

Ví dụ sử dụng Range Validator để kiểm tra điều khiển thỏa mãn dảigiá trị số

<asp:TextBox ID="txtDays“ runat="server"> </asp:TextBox> &nbsp;

<asp:RangeValidator ID="RangeValidator1" runat="server“ ControlToValidate="txtDays"Type="Integer“ MinimumValue="1" MaximumValue="14“ ErrorMessage="Daysmust be between 1 and 14.">

</asp:RangeValidator>

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 19

<asp:TextBox ID="txtDays“ runat="server"> </asp:TextBox> &nbsp;

<asp:RangeValidator ID="RangeValidator1" runat="server“ ControlToValidate="txtDays"Type="Integer“ MinimumValue="1" MaximumValue="14“ ErrorMessage="Daysmust be between 1 and 14.">

</asp:RangeValidator>

Page 20: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Sử dụng khi nào???Sử dụng để hiển thị toàn bộ thông tin lỗi của các validatortrên trang

Hiển thị như thế nào???Hiển thị trên trang Web hoặc dưới dạng Message BoxGồm một HeaderText theo sau là danh sách các lỗi (thuộctính ErrorMessage) của các điều khiển ValidationDanh sách lỗi hiển thị dưới dạng: BulletList, List…

Validation Summary

Sử dụng khi nào???Sử dụng để hiển thị toàn bộ thông tin lỗi của các validatortrên trang

Hiển thị như thế nào???Hiển thị trên trang Web hoặc dưới dạng Message BoxGồm một HeaderText theo sau là danh sách các lỗi (thuộctính ErrorMessage) của các điều khiển ValidationDanh sách lỗi hiển thị dưới dạng: BulletList, List…

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 20

Page 21: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Validation Summary

Thuộc tính HeaderText của điều khiển ValidationSummary

Thuộc tính ErrorMessagecủa điều khiểnRequiredFieldValidator

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 21

RequiredFieldValidator Validation Summary

Thông điệp * được thiết lập cho thuộc tính Text của điều khiểnRequiredFieldValidator

Thuộc tính ErrorMessagecủa điều khiểnRequiredFieldValidator

Page 22: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Các thuộc tính của điều khiển Validation Summary

Validation Summary

Thuộc tính Điều khiển

DisplayMode Định dạng hiển thị của thông báo lỗiGiá trị: BulletList, List hoặc SingleParagrapMặc định: BulletList

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 22

Định dạng hiển thị của thông báo lỗiGiá trị: BulletList, List hoặc SingleParagrapMặc định: BulletList

HeaderText Đoạn văn bản hiển thị trước danh sách thông báo lỗi

ShowSummary Có /Không hiển thị điều khiển Validation Summary(True/False). Mặc định True

ShowMessageBox Có/Không hiển thị thông báo lỗi trên Message box (chỉtrong trường hợp Client Validation. (Mặc định False)

Page 23: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Mã .aspx của các điều khiển Validation của Web Form cógiao diện như hình bên dưới

Ví dụ

<asp:RequiredFieldValidator ID="RequiredFieldValidator1"runat="server"ControlToValidate="lstCardType" InitialValue="None"ErrorMessage="You must select a credit card type."Display="Dynamic">*</asp:RequiredFieldValidator>

<asp:RequiredFieldValidator ID="RequiredFieldValidator2"runat="server"ControlToValidate="txtCardNumber"ErrorMessage="You must enter a credit card number."Display="Dynamic">*</asp:RequiredFieldValidator>

<asp:ValidationSummary ID="ValidationSummary1"runat="server"HeaderText="Please correct the following errors:"/>

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 23

<asp:RequiredFieldValidator ID="RequiredFieldValidator1"runat="server"ControlToValidate="lstCardType" InitialValue="None"ErrorMessage="You must select a credit card type."Display="Dynamic">*</asp:RequiredFieldValidator>

<asp:RequiredFieldValidator ID="RequiredFieldValidator2"runat="server"ControlToValidate="txtCardNumber"ErrorMessage="You must enter a credit card number."Display="Dynamic">*</asp:RequiredFieldValidator>

<asp:ValidationSummary ID="ValidationSummary1"runat="server"HeaderText="Please correct the following errors:"/>

Page 24: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Sử dụng khi nào????Khi cần so khớp dữ liệu người dùng nhập vào với một biểuthức chính quy được chỉ định sẵnVí dụ về biểu thức: \d{3} : Kí tự nhập vào phải là ba consố

Chỉ định biểu thức sử dụng thuộc tính: ValidationExpression

Regular Expresion Validator

Sử dụng khi nào????Khi cần so khớp dữ liệu người dùng nhập vào với một biểuthức chính quy được chỉ định sẵnVí dụ về biểu thức: \d{3} : Kí tự nhập vào phải là ba consố

Chỉ định biểu thức sử dụng thuộc tính: ValidationExpression

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 24Nút mở cửa sổ RegularExpression Editor

Page 25: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Hai loại biểu thứcBiểu thức chính quy chuẩn do Visual Studiocung cấp

Tạo bằng cách sử dụng cửa sổRegular Expression Editor

Biểu thức tùy biến (Custom expression)Tạo thành từ các phần tửbiểu thức chính quy

Regular Expresion Validator

Hai loại biểu thứcBiểu thức chính quy chuẩn do Visual Studiocung cấp

Tạo bằng cách sử dụng cửa sổRegular Expression Editor

Biểu thức tùy biến (Custom expression)Tạo thành từ các phần tửbiểu thức chính quy

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 25

Page 26: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Tình huống sử dụng Phần tửsử dụng

Biểu thức ví dụ

Chỉ định một kí tự thông thường như(Chữ cái, chữ số…) cho biểu thức

A : Kí tự nhập vào bắt buộc phải là A

Chỉ định một dãy kí tự xuất hiện cùngnhau

( ) (AbC): Bắt buộc là AbC

Chỉ định một số mẫu tùy chọn | (AB)|(cd): Chuỗi nhập vào có thể là AB hoặccd

Chỉ định các kí tự ordinary như . , $, ^,[, {, (, |, ), *, +, ?, \

\ \. : Kí tự nhập vào phải là dấu .\$: Kí tự nhập vào phải là $

Các phần tửbiểu thức chính quy thường dùng

Chỉ định các kí tự ordinary như . , $, ^,[, {, (, |, ), *, +, ?, \

\ \. : Kí tự nhập vào phải là dấu .\$: Kí tự nhập vào phải là $

Chỉ định một lớp các kí tự cho biểu thức \d, \D, \w,\W, \s, \S

\d: Kí tự nhập vào là chữ số\w: Kí tự nhập vào là chữ cái….

Chỉ định danh sách các kí tự người dùngcó thể lựa chọn nhập

[ ] [ABC]: Người dùng có thể nhập kí tự A hoặcB hoặc C[A-Z]: Kí tự nhập vào trong khoảng A đến Z

Chỉ định các từ hạn định {n}, {n,},{n,m}, *, ?,+

\d{6}: Chuỗi nhập vào gồm 6 chữ số\d{6,}: Chuỗi nhập vào có từ 6 chữ số trở lên\d*: Chuỗi nhập vào chứa ít nhất một chữ số

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 26

Sinh viên tham khảo thêm ý nghĩa của các phần tử trong SGK

Page 27: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Biểu thức cho phép nhập chỗi từ 3->20chữ cái hoa

[A-Z]{3,20}

Biểu thức cho phép nhập chuỗi gồm 2chữ số theo sau bởi dấu – và 4 chữ sốkhác

\d{2}-\d{4} hoặc [0-9]{2}-[0-9]{4}

Biểu thức cho phép nhập số điện thoại diđộng

0\d{8,9}

Tạo biểu thức chính quyVí dụ & Câu hỏi

Biểu thức cho phép nhập chỗi từ 3->20chữ cái hoa

[A-Z]{3,20}

Biểu thức cho phép nhập chuỗi gồm 2chữ số theo sau bởi dấu – và 4 chữ sốkhác

\d{2}-\d{4} hoặc [0-9]{2}-[0-9]{4}

Biểu thức cho phép nhập số điện thoại diđộng

0\d{8,9}

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 27

Bài tập về nhà: Sinh viên tạo một Web Form đơngiản gồm trường số điện thoại di động và thêm điềukhiển để kiểm tra tính hợp lệ dữ liệu cho trường này

Page 28: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Sử dụng khi nào???Khi tất cả các điều khiển đã học không thể đáp ứng nhucầu kiểm tra tính hợp lệ một trường nhập liệuCustom Validatior sẽ thực hiện kiểm tra dữ liệu nhập vàosử dụng mã validation do bạn tự viết

Custom validator

Sử dụng khi nào???Khi tất cả các điều khiển đã học không thể đáp ứng nhucầu kiểm tra tính hợp lệ một trường nhập liệuCustom Validatior sẽ thực hiện kiểm tra dữ liệu nhập vàosử dụng mã validation do bạn tự viết

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 28

Page 29: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Hai cách Custom Validator kiểm tra dữ liệu hợp lệKiểm tra sử dụng một hàm phía client (client-side function)Sử dụng trình xử lý sự kiện ServerValidate

Custom validator

Hai cách Custom Validator kiểm tra dữ liệu hợp lệKiểm tra sử dụng một hàm phía client (client-side function)Sử dụng trình xử lý sự kiện ServerValidate

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 29

Sinh viên tìm hiểu thêm về điều khiển Custom validator trong SGK

Page 30: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 30

Page 31: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Một ứng dụng Web kết thúc ngay sau khi trang Webđược tạo raHTTP không duy trì trạng thái của ứng dụng.Biến, thuộc tính của các điều khiển bị mất khi một yêucầu mới được tạo ra.

Trạng thái (State)

Một ứng dụng Web kết thúc ngay sau khi trang Webđược tạo raHTTP không duy trì trạng thái của ứng dụng.Biến, thuộc tính của các điều khiển bị mất khi một yêucầu mới được tạo ra.

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 31

Page 32: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

ASP.NET cung cấp một vài phương pháp để duy trì trạngthái

Trạng thái hiển thị (View State)Duy trì giá trị thuộc tính của điều khiển và form được thayđổi trong mã chương trình, giữa các lần thực thi của trang

Trạng thái phiên làm việc (session state)Theo dõi trạng thái của mỗi người dùng trong suốt mộtphiên làm việc, bằng cách tạo ra đối tượng trạng thái phiênlàm việc (session state object)Chỉ tồn tại trong một phiên làm việc, bắt đầu khi người dùngtruy cập vào trang, kết thúc khi người dùng đóng ứng dụng.

Trạng thái ứng dụng:Lưu dữ liệu của tất cả người dùng ứng dụng.Tất cả người dùng ứng dụng, & tất cả các phiên làm việcđều có thể truy cập trạng thái này

Trạng thái (State)ASP.NET cung cấp một vài phương pháp để duy trì trạngthái

Trạng thái hiển thị (View State)Duy trì giá trị thuộc tính của điều khiển và form được thayđổi trong mã chương trình, giữa các lần thực thi của trang

Trạng thái phiên làm việc (session state)Theo dõi trạng thái của mỗi người dùng trong suốt mộtphiên làm việc, bằng cách tạo ra đối tượng trạng thái phiênlàm việc (session state object)Chỉ tồn tại trong một phiên làm việc, bắt đầu khi người dùngtruy cập vào trang, kết thúc khi người dùng đóng ứng dụng.

Trạng thái ứng dụng:Lưu dữ liệu của tất cả người dùng ứng dụng.Tất cả người dùng ứng dụng, & tất cả các phiên làm việcđều có thể truy cập trạng thái này

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 32

Page 33: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

ASP.NET quản lýtrạng thái phiên làm việc như thế nào

Browser

Browser

Web Server

Web Server

Yêu cầu HTTP đầu tiênTrình duyệt yêu cầu một trang WebASP.NET tạo đối tượng trạng thái phiên làmviệc và gán một ID cho phiên làm việc này

Hôi đáp HTTP đầu tiênTrình duyệt trả về trang được yêu cầucùng với session ID như là mộtCookie

- Sesion ID là duynhất. Tồn tại từkhi bắt đầu mộtphiên làm việcđến khi kết thúcphiên làm việc- Yêu cầu củangười dùng luônđược gửi kèmSesion ID- Cookies: là cáctệp được tạo bởitrang web, màbạn đã truy cậpđể lưu trữ thôngtin duyệt web

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 33

Browser Web Server

Yêu cầu HTTP tiếp theoTrình duyệt yêu cầu một trang khác.Server sử dụng session ID chứatrong yêu cầu để liên kết trình duyệtvới đúng đối tượng session ID

- Sesion ID là duynhất. Tồn tại từkhi bắt đầu mộtphiên làm việcđến khi kết thúcphiên làm việc- Yêu cầu củangười dùng luônđược gửi kèmSesion ID- Cookies: là cáctệp được tạo bởitrang web, màbạn đã truy cậpđể lưu trữ thôngtin duyệt web

Page 34: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Giá trị Session ID được truy xuất bằng cách sử dụngthuộc tính SessionID

DemoĐọc giá trị Session ID

protected void Page_Load(object sender, EventArgs e){

Response.Write(Session.SessionID);}

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 34

protected void Page_Load(object sender, EventArgs e){

Response.Write(Session.SessionID);}

Session ID của phiên làm việc 1 Session ID của phiên làm việc 2

Page 35: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

ASP.NET tự động sử dụng trạng thái phiên làm việc đểtheo dõi các phiên làm việc của người sử dụngLập trình viên có thể sử dụng trạng thái phiên làm việcđể lưu dữ liệu riêng, để sử dụng bất cứ khi nào cầnthiết.Các trường hợp nên sử dụng trạng thái phiên làm việc

Lưu thông tin người dùng khi đăng nhậpLưu các đối tượng người dùng đang làm việc

Ví dụ: Lưu bản ghi dữ liệu khách hàng để sẵn sàng sử dụngkhi cần

Theo dõi các bước trong thao tác của người dùngCho phép người dùng quay về thao tác trước.

Sử dụngtrạng thái phiên làm việc khi nào???

ASP.NET tự động sử dụng trạng thái phiên làm việc đểtheo dõi các phiên làm việc của người sử dụngLập trình viên có thể sử dụng trạng thái phiên làm việcđể lưu dữ liệu riêng, để sử dụng bất cứ khi nào cầnthiết.Các trường hợp nên sử dụng trạng thái phiên làm việc

Lưu thông tin người dùng khi đăng nhậpLưu các đối tượng người dùng đang làm việc

Ví dụ: Lưu bản ghi dữ liệu khách hàng để sẵn sàng sử dụngkhi cần

Theo dõi các bước trong thao tác của người dùngCho phép người dùng quay về thao tác trước.

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 35

Page 36: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Để lưu dữ liệu riêng, lập trình viên sửdụng biến SessionBiến Session có thể được truy cậptrong tất cả các trang, tồn tại trongsuốt phiên làm việc của người dùngBiến Session chứa trong lớpSessionStateItemCollection nằm trongnamespace System.Web.SessionState

Biến Session

Để lưu dữ liệu riêng, lập trình viên sửdụng biến SessionBiến Session có thể được truy cậptrong tất cả các trang, tồn tại trongsuốt phiên làm việc của người dùngBiến Session chứa trong lớpSessionStateItemCollection nằm trongnamespace System.Web.SessionState

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 36

Page 37: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Hai cách truy cập biến Session:Sử dụng thuộc tính Session của lớp System.Web.UI.Page

Chỉ sử dụng trong file code-behind của trang

Sử dụng đối tượng HttpContextTừ các lớp bên ngoài không phải lớp code-behind

Biến Session

Hai cách truy cập biến Session:Sử dụng thuộc tính Session của lớp System.Web.UI.Page

Chỉ sử dụng trong file code-behind của trang

Sử dụng đối tượng HttpContextTừ các lớp bên ngoài không phải lớp code-behind

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 37

Page 38: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Thêm một biến SessionSử dụng phương thức Add

Session.Add("Cart", cart);// Thêm biến Session “Cart” có giá trị bằng cart

Sử dụng chỉ số (cách này thêm hoặc cập nhật giá trị củabiến)

Session["Cart"] = cart;

Lấy giá trị biến SesionSử dụng chỉ số

SortedList cart = (SortedList)Session["Cart"];

Thêm/Xóa/Lấy giá trị biến Session

Thêm một biến SessionSử dụng phương thức Add

Session.Add("Cart", cart);// Thêm biến Session “Cart” có giá trị bằng cart

Sử dụng chỉ số (cách này thêm hoặc cập nhật giá trị củabiến)

Session["Cart"] = cart;

Lấy giá trị biến SesionSử dụng chỉ số

SortedList cart = (SortedList)Session["Cart"];

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 38

Page 39: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Xóa biến Session (Nên xóa biến Session ngay khi biếnkhông còn hữu ích để sử dụng)

Sử dụng phương thức RemoveSession.Remove("Cart");

Xóa hết toàn bộ biến SesionSử dụng phương thức Clear

Sinh viên tự tìm hiểu thêm cách sử dụng đối tượngHttpContext

Thêm/Xóa/Lấy giá trị biến Session

Xóa biến Session (Nên xóa biến Session ngay khi biếnkhông còn hữu ích để sử dụng)

Sử dụng phương thức RemoveSession.Remove("Cart");

Xóa hết toàn bộ biến SesionSử dụng phương thức Clear

Sinh viên tự tìm hiểu thêm cách sử dụng đối tượngHttpContext

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 39

Page 40: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Trạng thái phiên làm việc lưu dữ liệutrong một phiên làm việc của một ngườidùng.Trạng thái ứng dụng lưu dữ liệu của tất cảngười dùng ứng dụngLập trình viên có thể sử dụng trạng tháiứng dụng để lưu dữ liệu, để sử dụngnhững lúc cần thiết.Dữ liệu này có thể truy cập từ tất cảngười dùng ứng dụng và tất cả các trangcủa ứng dụng hay các phiên làm việc

Trạng thái ứng dụng(Application state)

Dữ liệu củaUser 1

Dữ liệu củaUser n

Trạng thái phiên làm việc lưu dữ liệutrong một phiên làm việc của một ngườidùng.Trạng thái ứng dụng lưu dữ liệu của tất cảngười dùng ứng dụngLập trình viên có thể sử dụng trạng tháiứng dụng để lưu dữ liệu, để sử dụngnhững lúc cần thiết.Dữ liệu này có thể truy cập từ tất cảngười dùng ứng dụng và tất cả các trangcủa ứng dụng hay các phiên làm việc

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 40

Page 41: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Trường hợp sử dụng trạng thái ứng dụngLưu dữ liệu ít khi thay đổi

Ví dụ: Các kì giảm giá, tỷ lệ lãi suất của một hệ thống đặthàng

Lưu dữ liệu thay đổi mỗi khi ứng dụng thực thiSố lượng người dùng đăng nhập vào diễn đàn

Trạng thái ứng dụng(Application state)

Trường hợp sử dụng trạng thái ứng dụngLưu dữ liệu ít khi thay đổi

Ví dụ: Các kì giảm giá, tỷ lệ lãi suất của một hệ thống đặthàng

Lưu dữ liệu thay đổi mỗi khi ứng dụng thực thiSố lượng người dùng đăng nhập vào diễn đàn

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 41

Page 42: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Giống như trạng thái phiên làm việc, lập trình viên sửdụng các biến để lưu dữ liệu riêngHai cách truy cập trạng thái ứng dụng

Sử dụng thuộc tính Application của trangChỉ sử dụng trong file code-behind của Web Form

Sử dụng thuộc tính Application của đối tượng HttpContextTruy cập trạng thái ứng dụng từ các lớp khác không phải filecode-behind

Trạng thái ứng dụng

Giống như trạng thái phiên làm việc, lập trình viên sửdụng các biến để lưu dữ liệu riêngHai cách truy cập trạng thái ứng dụng

Sử dụng thuộc tính Application của trangChỉ sử dụng trong file code-behind của Web Form

Sử dụng thuộc tính Application của đối tượng HttpContextTruy cập trạng thái ứng dụng từ các lớp khác không phải filecode-behind

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 42

Page 43: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Thêm một biến trạng thái ứng dụngSử dụng phương thức Add trong file global.asax

Application.Add("HitCount", 0);

Lấy giá trị biến trạng thái ứng dụngTừ file code-behind

int applicationCount =Convert.ToInt32(Application["HitCount"]);

Từ một lớp (class) không phải file code-behindint applicationCount = Convert.ToInt32(HttpContext.Current.Application["HitCount"]);

Xóa biến/Xóa tất cả các biếnSử dụng phương thức Remove(name) hoặc Clear

Thêm/Xóa/Lấy giá trị biếntrạng thái ứng dụng

Thêm một biến trạng thái ứng dụngSử dụng phương thức Add trong file global.asax

Application.Add("HitCount", 0);

Lấy giá trị biến trạng thái ứng dụngTừ file code-behind

int applicationCount =Convert.ToInt32(Application["HitCount"]);

Từ một lớp (class) không phải file code-behindint applicationCount = Convert.ToInt32(HttpContext.Current.Application["HitCount"]);

Xóa biến/Xóa tất cả các biếnSử dụng phương thức Remove(name) hoặc Clear

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 43

Page 44: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Trạng thái ứng dụng có thể được truy cập bởi tất cảngười dùng ứng dụngNhiều người dùng cùng thay đổi một biến trạng thái ứngdụng tại một thời điểm -> Vấn đề !!!!Sử dụng phương thức Lock để khóa trạng thái ứng dụngtrước khi người dùng thay đổi giá trị biếnSử dụng phương thức Unlock để mở khóa sau khi ngườidùng đã thay đổi xong giá trị biến

Lock & Unlock

Trạng thái ứng dụng có thể được truy cập bởi tất cảngười dùng ứng dụngNhiều người dùng cùng thay đổi một biến trạng thái ứngdụng tại một thời điểm -> Vấn đề !!!!Sử dụng phương thức Lock để khóa trạng thái ứng dụngtrước khi người dùng thay đổi giá trị biếnSử dụng phương thức Unlock để mở khóa sau khi ngườidùng đã thay đổi xong giá trị biến

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 44

Application.Lock();//Khóa trạng thái ứng dụng. Chỉ cho phép người dùng hiện tạithay đổi giá trị biến

int applicationCount=Convert.ToInt32(Application["HitCount"]);applicationCount++;Application["HitCount"] = applicationCount;Application.UnLock();

Page 45: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Nội dung demo:Demo cách sử dụng trạng tháiSessionDemo cách sử dụng trạng thái ứngdụng

Web Form gồm hai LabellblSessionClicks hiển thị số lầnclick vào button Post trong mộtsessionlblApplicationClicks hiển thị tổng sốlần mà tất cả người dùng click vàobutton Post

DemoSử dụng trạng thái phiên làm việc

& Trạng thái ứng dụng

Nội dung demo:Demo cách sử dụng trạng tháiSessionDemo cách sử dụng trạng thái ứngdụng

Web Form gồm hai LabellblSessionClicks hiển thị số lầnclick vào button Post trong mộtsessionlblApplicationClicks hiển thị tổng sốlần mà tất cả người dùng click vàobutton Post

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 45

Page 46: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Là các tệp được tạo bởi trang web, màbạn đã truy cập, để lưu trữ thông tinduyệt webLà một tập các cặp tên/giá trị được lưutrữ trong trình duyệt hoặc ổ đĩa củangười dùngVí dụ về Cookie:

ASP.NET_SessionId=jsswpu5530hcyx2w3jfa5u55EMail=Anne@Murach.comuser_ID=4993password=opensesame

Cookie

Là các tệp được tạo bởi trang web, màbạn đã truy cập, để lưu trữ thông tinduyệt webLà một tập các cặp tên/giá trị được lưutrữ trong trình duyệt hoặc ổ đĩa củangười dùngVí dụ về Cookie:

ASP.NET_SessionId=jsswpu5530hcyx2w3jfa5u55EMail=Anne@Murach.comuser_ID=4993password=opensesame

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 46

Các ứng dụng mail thườngcó tùy chọn lưu thông tinđăng nhập (tạo PersistentCookie)

Page 47: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Hai loại CookieSession Cookie: Tồn tại chỉ trong phiên làm việc hiện tạiPersistent Cookie: Được lưu trên ổ đĩa máy Client

Sử dụng khi nào???Lưu thông tin định danh người dùngLưu thông tin cấu hình profile (hiển thị trang)

Cookie

Hai loại CookieSession Cookie: Tồn tại chỉ trong phiên làm việc hiện tạiPersistent Cookie: Được lưu trên ổ đĩa máy Client

Sử dụng khi nào???Lưu thông tin định danh người dùngLưu thông tin cấu hình profile (hiển thị trang)

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 47

Page 48: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Ứng dụng gửi Cookie tới trình duyệt thông qua HTTPresponseMỗi lần trình duyệt gửi HTTP Request tới Server, nó sẽgửi kèm CookieMặc định ASP.NET sử dụng Cookie để lưu session ID củamột SessionLập trình viên có thể tạo các cookies của riêng mìnhĐể tạo Cookie, khởi tạo một đối tượng của lớpHttpCookie

Cookie

Ứng dụng gửi Cookie tới trình duyệt thông qua HTTPresponseMỗi lần trình duyệt gửi HTTP Request tới Server, nó sẽgửi kèm CookieMặc định ASP.NET sử dụng Cookie để lưu session ID củamột SessionLập trình viên có thể tạo các cookies của riêng mìnhĐể tạo Cookie, khởi tạo một đối tượng của lớpHttpCookie

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 48

Page 49: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Hai cách tạo CookieNew HttpCookie(name)New HttpCookie(name, Value)

Ví dụTạo Session Cookie

HttpCookie nameCookie =new HttpCookie("UserName", userName);

Tạo Persistent cookie: Phải thiết lập giá trị cho thuộc tínhExpires

HttpCookie nameCookie = newHttpCookie("UserName");nameCookie.Value = userName;nameCookie.Expires = DateTime.Now.AddYears(1);

Tạo Cookie

Hai cách tạo CookieNew HttpCookie(name)New HttpCookie(name, Value)

Ví dụTạo Session Cookie

HttpCookie nameCookie =new HttpCookie("UserName", userName);

Tạo Persistent cookie: Phải thiết lập giá trị cho thuộc tínhExpires

HttpCookie nameCookie = newHttpCookie("UserName");nameCookie.Value = userName;nameCookie.Expires = DateTime.Now.AddYears(1);

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 49

Page 50: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Các thành viên của lớp HttpCookieCollection

Làm việc với Cookie

Thành viên Mô tả[name] Chỉ số. Tham chiếu tới một cookie sử dụng tên

Count Tổng số cookie trong một tập hợp

Add Thêm một cookie vào tập hợp

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 50

Add Thêm một cookie vào tập hợp

Clear Xóa toàn bộ cookie của một tập hợp

Remove(name) Xóa một cookie được chỉ định bởi tên

Page 51: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Phương thức tạo một cookie mới và thêm cookie này vàođối tượng HttpResponse

Ví dụ

private void AddCookie(){

HttpCookie nameCookie =new HttpCookie("UserName", txtUserName.Text);

nameCookie.Expires = DateTime.Now.AddYears(1);Response.Cookies.Add(nameCookie);

}

Phương thức truy xuất giá trị của một cookie từ đốitượng HttpRequest

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 51

Phương thức truy xuất giá trị của một cookie từ đốitượng HttpRequest

protected void Page_Load(object sender, EventArgs e){

if (!IsPostBack){ if (!(Request.Cookies["UserName"] == null))

lblUserName.Text = "Welcome back”+ Request.Cookies["UserName"].Value ".";

}}

Page 52: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Để sử dụng cookie, trình duyệt phải được kích hoạt đểsử dụng CookieKích hoạt/Vô hiệu Cookie trong IE

Chọn Tools> Internet OptionsChọn tab PrivacyKéo con trượt tới mức bảo mậtChấp nhận hoặc chặn cookies

Kích hoạt/ Vô hiệu cookie trong Fire FoxChọn Tools>OptionsChọn biểu tượng Privacy….

Kích hoạt/ Vô hiệu Cookie

Để sử dụng cookie, trình duyệt phải được kích hoạt đểsử dụng CookieKích hoạt/Vô hiệu Cookie trong IE

Chọn Tools> Internet OptionsChọn tab PrivacyKéo con trượt tới mức bảo mậtChấp nhận hoặc chặn cookies

Kích hoạt/ Vô hiệu cookie trong Fire FoxChọn Tools>OptionsChọn biểu tượng Privacy….

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 52

Page 53: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

Các nội dung đã học trong bàiKiểm tra tính hợp lệ của dữ liệuASP.NET cung cấp các điều khiển Validation để kiểm tratính hợp lệ của dữ liệu nhập vào Web Form

RequiredFieldValidatorYêu cầu nhập liệu

CompareValidatorSo sánh: Với hằng số, với điều khiển khácKiểm tra kiểu dữ liệu nhập vào điều khiển : Integer, String…

RangeValidatorKiểm tra dữ liệu nhập vào dựa trên một khoảng giá trị

Tổng kết

Các nội dung đã học trong bàiKiểm tra tính hợp lệ của dữ liệuASP.NET cung cấp các điều khiển Validation để kiểm tratính hợp lệ của dữ liệu nhập vào Web Form

RequiredFieldValidatorYêu cầu nhập liệu

CompareValidatorSo sánh: Với hằng số, với điều khiển khácKiểm tra kiểu dữ liệu nhập vào điều khiển : Integer, String…

RangeValidatorKiểm tra dữ liệu nhập vào dựa trên một khoảng giá trị

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 53

Page 54: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

RegularExpressionValidatorSo khớp chuỗi nhập vào với một biểu thức chính quy chỉ địnhtrước

CustomValidationKiểm tra dữ liệu nhập vào sử dụng một hàm tự định nghĩa(Viết mã C# hoặc hàm phía client)

ValidationSummaryHiển thị danh sách tất cả các lỗi được tạo bởi toàn bộ điềukhiển Validator khác trên trang

Tổng kết

RegularExpressionValidatorSo khớp chuỗi nhập vào với một biểu thức chính quy chỉ địnhtrước

CustomValidationKiểm tra dữ liệu nhập vào sử dụng một hàm tự định nghĩa(Viết mã C# hoặc hàm phía client)

ValidationSummaryHiển thị danh sách tất cả các lỗi được tạo bởi toàn bộ điềukhiển Validator khác trên trang

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 54

Page 55: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

ASP.NET cung cấp một vài phương pháp để duy trì trạngthái

Trạng thái hiển thị (View State)Duy trì giá trị thuộc tính của điều khiển và form.

Trạng thái phiên làm việc (session state)Theo dõi trạng thái của mỗi người dùng trong suốt mộtphiên làm việc

Trạng thái ứng dụng:Theo dõi trạng thái của tất cả người dùng ứng dụng & tất cảcác phiên làm việc của người dùng

Lập trình viên có thể lưu dữ liệu của riêng mình vào trạngthái hiển thị, trạng thái phiên làm việc & trạng thái ứngdụng

Tổng kết

ASP.NET cung cấp một vài phương pháp để duy trì trạngthái

Trạng thái hiển thị (View State)Duy trì giá trị thuộc tính của điều khiển và form.

Trạng thái phiên làm việc (session state)Theo dõi trạng thái của mỗi người dùng trong suốt mộtphiên làm việc

Trạng thái ứng dụng:Theo dõi trạng thái của tất cả người dùng ứng dụng & tất cảcác phiên làm việc của người dùng

Lập trình viên có thể lưu dữ liệu của riêng mình vào trạngthái hiển thị, trạng thái phiên làm việc & trạng thái ứngdụng

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 55

Page 56: Bài 3: Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái - Giáo trình FPT - Có ví dụ kèm theo

CookieLà các tệp được tạo bởi trang web, mà bạn đã truy cập, đểlưu trữ thông tin duyệt webLà một tập các cặp tên/giá trị được lưu trữ trong trình duyệthoặc ổ đĩa của người dùngASP.NET sử dụng cookie để lưu giữ Session ID của một phiênlàm việcThường sử dụng để lưu thông tin định danh người dùng

Tổng kết

CookieLà các tệp được tạo bởi trang web, mà bạn đã truy cập, đểlưu trữ thông tin duyệt webLà một tập các cặp tên/giá trị được lưu trữ trong trình duyệthoặc ổ đĩa của người dùngASP.NET sử dụng cookie để lưu giữ Session ID của một phiênlàm việcThường sử dụng để lưu thông tin định danh người dùng

Kiểm tra tính hợp lệ của dữ liệu & Quản lý trạng thái 56