ASP.NET Web Control Attributes Attribute_Collection Tập hợp các thuộc tính của điều khiển HTML CssClass String Quy định hình thức thể hiện của điều khiển qua tên CSS Enabled Boole
Trang 1LẬP TRÌNH WEB ASP.NET
Ts Vũ Đức Lung
Ks Phan Hữu Tiếp
Điều khiển trình chủ ASP.NET
Chương 3:
Trang 2Web service conntrols
Nghiên cứu HTML Control
Nghiên cứu ASP.NET Web Control
Trang 3HTML Control
Dùng để thể hiện giao diện web
Tất cả các class HTML control chứa trong
namespace System.Web.UI.HtmlControls
HTML Server control là những tag HTML tạo
ra
Duy trì tương thích với các tag HTML cũ
Thêm vào thuộc tính run at = “server”
Tất cả HTML Server Control phải được đặt
trong
Tag <form> với thuộc tính run at = “server”
Trang 4ASP.NET Web Control
ASP.NET Server Control là những tag đặc biệt của riêng ASP.NET
Các control này cũng sẽ được xử lý trên server, và đòi hỏi phải có thuộc tính runat = “server”
Không tương ứng với HTML tag nào
Trang 6ASP.NET Page
Init: sự kiện Page_Init xảy ra đầu tiên khi trang web được yêu cầu
Load: sự kiện này là nơi ta sẽ đặt phần lớn các xử lý, giá trị khởi động ban đầu cho trang web Sự kiện này luôn xảy ra mỗi khi trang web được yêu cầu
PreRender: Sự kiện này xảy ra khi trang web chuẩn bị được trả về cho Cilent
Unload: Sự kiện này đối lập với sự kiện Page_Init xảy ra đầu tiên khi trang web được yêu cầu, thì Page_Unload là sự kiện sau cùng, xảy ra sau tất cả những sự kiện khác
Trang 7Các thuộc tính trong ASP.NET Page
IsPostBack: đây là thuộc tính kiểu Boolean, giá trị của thuộc tính này cho biết trạng thái của trang web khi được load Nếu
là lần load đầu tiên, giá trị của thuộc tính này bằng False Thuộc tính này thường được sử dụng trong sự kiện Page_Load để kiểm tra trạng thái của trang web
SmartNavigation: trong trường hợp nội dung trang web vượt quá kích thước hiển thị của màn hình và bạn đang đọc ở phần giữa của trang web, khi được Reload lại, màn hình sẽ hiển thị phần đầu của trang web Nếu giá trị của thuộc tính này là True, trình duyệt web sẽ vẫn giữ nguyên vị trí mà bạn đang đọc sau khi Reload Đây là thuộc tính kiểu Boolean
Trang 8và HTML Control
Trang 9Khác biệt trong HTML tag
Trang 10Một số ví dụ
Trang 11ASP.NET Web Control
ASP.NET Web ConTrol đơn giản, tương tự các điều khiển trên Windows Form
Đồng nhất: Các điều khiển Web Server có các thuộc tính giống nhau nên dễ tìm hiểu và sử dụng
Hiệu quả: các điều khiển web server tự động phát sinh ra các tag HTML theo từng loại Browser
Điều khiển sự kiện và chương trình con (Control events and Subroutines)
Sự kiện sinh ra: bấm chuột, bấm phím ENTER, load 1 trang web…=>Bộ sử lý sự kiện – Handler
Trang 12ASP.NET Web Control
Các sự kiện thường gặp
trước khi control được render (tức là hiển thị ra client/browser
Trang 13ASP.NET Web Control
ID Chuỗi KT Tên control, duy nhất
AccessKey String Ký tự chuyển nhanh đến control, phím nóng BackColor Color Màu nền
BorderColor Color Màu đường viền
BorderStyle BorderStyle kiểu đường viền
BorderWidth Unit độ rộng đường viền
Visible Boolean Control có thấy hay không, mặc định – true
Font FontInfo Font cho control
ForeColor Color Màu font
Height Unit chiều cao
Width Unit độ rộng
Trang 14ASP.NET Web Control
Attributes Attribute_Collection Tập hợp các thuộc tính của điều khiển
HTML CssClass String Quy định hình thức thể hiện của điều
khiển qua tên CSS Enabled Boolean Quy định điều khiển có được hiển thị hay
không hiển thị
ToolTip String Dòng chữ sẽ hiển thị khi rê chuột vào
điều khiển
Trang 15ASP.NET Web Control
Các web control cơ bản:
CheckBoxList DropDownList ListBox
Panel PlaceHolder
Trang 16ASP.NET Web Control: Label
Label thường được sử dụng để hiển thị và trình bày nội dung trên trang web
Nội dung hiển thị trên label được xác định thông qua thuộc tíh Text
Thuộc tính Text có thể nhận và hiển thị nội dung với các Tag HTML
Khai báo sử dụng label trong trang ASP.NET
<asp:Label ID="Label1“ runat="server“ Text="Label"></asp:Label>
Nội dung trên label
Trang 17ASP.NET Web Control: Label
Các thuộc tính của Label:
Ví dụ:
lblNhan.text=“Chào bạn”
lblNhan.text=“<b>Chào bạn</b>”
Trang 18ASP.NET Web Control: HyperLink
Điều khiển này được dùng đề tạo ra các liên kết siêu văn bản
Các thuộc tính:
ImageURL: quy định hình hiển thị trên điều khiển
Text: chuỗi văn bản được hiển thị trê điều khiển Trong trường hợp cả hai thuộc tính ImageURL và Text được thiết lập, thuộc tính ImageURL được ưu tiên, thuộc tính Text sẽ được hiển thị như là một ToolTip
NavigateURL: đường dẫn liên kết đến
Target: xác định cửa sổ sẽ hiển thị cho mối liên kết
• _blank: hiển thị trên một cửa sổ mới
• _self: hiển thị trang liên kết tại cửa sổ hiện tại
• _parent: hiển thị trang liên kết tại frame cha
• ?? Trong tab mới???
Trang 19ASP.NET Web Control: HyperLink
Trang 20ASP.NET Web Control: Textbox
Textbox là điều khiển được dùng để nhập liệu và hiển thị dữ liệu Textbox thường được sử dụng nhiều với các ứng dụng trên web
Các thuộc tính
Text: nội dung chứa trong textbox
TextMode: quy định chức năng của textbox như sau:
• SingleLine: hiển thị và nhập liệu 01 dòng vă bản
• MultiLine: hiển thị và nhập liệu nhiều dòng văn bản
• Password: hiển thị dấu * thay cho các ký tự có trong textbox
Rows: trong trường hợp textmode=MultiLine, thuộc tính Rows sẽ qui định số dòng vă bản được hiển thị
MaxLength: quy định số ký tự tối đa được nhập vào Textbox
Wrap: tự động ngắt lề phải và xuống dòng
Trang 21ASP.NET Web Control: Textbox
Các thuộc tính tiếp theo:
AutoPostBack: thuộc tính này
qui định điều khiển có được
phép tự động PostBack về
Server khi nội dunng trong
Textbox bị thay đổi hay không
Thuộc tính này có giá trị
boolean
Khai báo textbox:
<asp:textbox id="UserName"
runat="server"></asp:textbox>
Trang 22ASP.NET Web Control: Image
Điều khiển này dùng để hiện thị hình ảnh lên trang web
Thuộc tính:
ImageURL: đường dẫn đến tập tin hình ảnh cần hiển thị
AlternateText: chuỗi văn bản sẽ hiển thị khi tập tin được thiết lập trong thuộc tính ImageURL không tồn tại
ImageAlign: vị trí hiển thị giữa hình và nội dung văn bản
Trang 23LinkButton
Các điều khiển Button, Image Button, LinkButton mặc định đều là nút submit button, mỗi khi được nhấn sẽ PostBack về Server
Khi chúng ta thiết lập giá trị thuộc tính CommandName cho các điều khiển này, chúng ta gọi tên chung cho các điều khiển
là Command Button
Các thuộc tính thường sử dụng:
Text: chuỗi văn bản hiển thị trên điều khiển
CommandName: tên lệnh, được sử dụng trong sự kiện Command
CommandArgument: thông tin bổ sung cho sự kiện Command
Trang 24LinkButton
Trang 25ASP.NET Web Control: Listbox, DropDownList
Listbox và DropDownList là điều khiển danh sách lựa chọn
mà người dùng có thể chọn một hay nhiều(Chỉ dành riêng cho listbox) Các mục lựa chọn có thể thêm vào danh sách thông qua lệnh hay ở cửa sổ thuộc tính ( property windows)
Các thuộc tính thường sử dụng:
AutoPostBack: thuộc tính này quy định điều khiển có được phép tự động PostBack về server khi chỉ số của mục chọn bị thay đổi Giá trị mặc định của thuộc tính này là False
Item: đây là tập hợp chứa các mục chọn của điều khiển Ta có thể thêm vào mục chọn vào thời điểm thiết kế thông qua cửa sổ ListItem Collection Editor hay thông qua lệnh
Rows: qui định chiều cao của ListBox theo số dòng hiển thị
SelectionMode: thuộc tính này xác định cách thức chọn các mục
Trang 26ASP.NET Web Control: Listbox, DropDownList
Các thuộc tính tiếp theo:
SelectionMode:
• Single: chỉ được chọn một mục có trong danh sách (mặc định)
• Multiple: cho phép chọn nhiều mục chọn
Xử lý mục chọn: các thuộc tính dưới đây cho phép ta xác định chỉ số, giá trị của mục đang được chọn, Trong trường hợp điều khiển cho phép chọn nhiều mục, ta duyệt qua các item trong tập hợp Items, sử dụng thuộc tính Selected của đối tượng Item để kiểm tra xem mục đó có được chọn hay không?
• SelectedIndex: cho biết chỉ số của mục được chọn Trong trường hợp chọn nhiều mục, SelectedIndex sẽ trả về chỉ mục chọn đầu tiên
• SelectedItem: cho biết mục được chọn, trong trường hợp chọn nhiều mục, SelectedItem sẽ trả về mục chọn đầu tiên
• SelectedValue: Cho biết giá trị của mục được chọn Trong trường hợp chọn nhiều mục, SelectedValue sẽ trả về giá trị mục chọn đầu tiên
Trang 27ASP.NET Web Control: Listbox, DropDownList
Tìm hiểu về tập hợp Items
Add: thêm mục mới vào cuối danh sách, sử dụng phương thức Item.Add
Trang 28ASP.NET Web Control: Listbox, DropDownList
Tìm hiểu về tập hợp Items
Contains: kiểm tra xem một Item đã có trong tập hợp Item hay chưa, nếu có phương thức này sẽ trả về kết quả là True, ngược lại trả về False
Trang 29ASP.NET Web Control: Listbox, DropDownList
Tìm hiểu về tập hợp Items
RemoveAt: xóa một item tại vị trí index ra khỏi danh sách
• Cú pháp: Items.RemoveAt(<index>)
Clear: phương thức clear của tập hợp Items dùng để xóa tất cả những item có trong danh sách
• Cú pháp: Items.Clear
Trang 30ASP.NET Web Control: Listbox, DropDownList
Trang 31ASP.NET Web Control: Listbox, DropDownList
Trang 32ASP.NET Web Control: Listbox, DropDownList
Thêm dữ liệu vào Listbox:
Trang 33ASP.NET Web Control: Listbox, DropDownList
Lấy dữ liệu được chọn:
Trang 34Upload file
Trang 35Upload file
Trang 36ASP.NET Web Control: Checkbox, RadioButton
Các thuộc tính chung:
Checked: cho biết trạng thái của mục chọn, có được chọn hay không
TextAlign: quy định vị trí hiển thị của điều khiển so với chuỗi văn bản
AutoPostback: quy định điều khiển có được phép tự động PsotBack về server khi các mục chọn của điều khiển bị thay đổi Giá trị mặc định của thuộc tính này là False – không tự động PostBack
Groupname(RadioButton): tên nhóm Thuộc tính này được sử dụng
để nhóm các điều khiển RadioButton thành một nhóm
Trang 37ASP.NET Web Control: Checkbox, RadioButton
Trang 38RadioButtonList
Hai điều khiển này dùng để tạo ra một nhóm các Checkbox/Radio Button Do đây là điều khiển danh sách nên nó cũng có thuộc tính Items chứa tập hợp các mục chọn như ListBox/DropDownList Các thao tác trên tập hợp Items, xử lý mục chọn cũng tương tự như ListBox/Dropdownlist
Các thuộc tính:
RepeatColumns: qui định số cột hiển thị
RepeatDirection: quy định hình thức hiển thị
• Vertical: theo chiều dọc
• Horizontal: theo chiều ngang
AutoPostBack: thuộc tính này qui định điều khiển 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 Giá trị mặc định là False
Trang 39RadioButtonList
Trang 40RadioButtonList
Trang 41RadioButtonList
Trang 42Validation web controls
Trang 43Validation web controls
Validation control kiểm tra tính đúng đắn của dữ liệu do client nhập vào trước khi trang được gửi về cho server
Trang 44Validation web controls
Các thuộc tính chung:
ControlToValidate: tên điều khiển cần kiểm tra Đây là thuộc tính
mà ta phải xác định khi sử dụng Validation Control
Text: Chuỗi thông báo khi có lỗi
ErrorMessage: chuỗi thông báo xuất hiện trong điều khiển
Validation Summary Giá trị này sẽ được hiển thị tại vị trí của điều khiển nếu chúng ta không gán giá trị cho thuộc tính Text
Display: qui định hình thức hiển thị
• None: không hiển thị thông báo lỗi ( vẫn kiểm tra dữ liệu)
• Static: trong trường hợp không có vi phạm dữ liệu, điều khiển không hiển thị nhưng vẫn chiếm vị trí như trong lúc thiết kế
• Dynamic: trong trường hợp không có vi phạm dữ liệu, điều khiển không chiếm dụng vị trí trên màn hình
EnableClientScript: cho phép thực hiện kiểm tra ở phía Client
hay không Giá trị mặc định là True
Trang 45Validation web controls
Trang 46Validation web controls
Điều khiển Required Field Validator
Dùng để kiểm tra giá trị trong điều khiển phải được nhập
Sử dụng điều khiển này để kiểm tra ràng buộc dữ liệu rỗng
Thuộc tính: InitialValue: giá trị khởi động Giá trị bạn nhập phải khác với giá trị của thuộc tính này Giá trị mặc định của thuộc tính này là chuỗi rỗng
Điều khiển Compare Validator :
Dùng để so sánh giá trị của một điều khiển với giá trị của một điều khiển khác, hay một giá trị được xác định trước
Dùng control này để kiểm tra ràng buộc miền giá trị , kiểu dữ liệu lên thuộc tính
phạm
Trang 47Validation web controls
Trang 48Validation web controls
Trang 49Validation web controls
Điều khiển Range Validator :
Điều khiển này dùng để kiểm tra giá trị trong điều khiển phải nằm trong đoạn min-max
Sử dụng điều khiển này để kiểm tra ràng buộc dữ liệu
Trong trường hợp không nhập liệu, điều khiển không kiểm tra thực hiện vi phạm
Các thuộc tính:
• MinimumValue: giá trị nhỏ nhất
• MaximumVaue: giá trị lớn nhất
• Type: xác định kiểu để kiểm tra dữ liệu Thực hiện trên các kiểu: String, Integer, Double, Date, Currency
Trang 50Validation web controls
Trang 51Validation web controls
Trang 52Validation web controls
Điều khiển Regular Expression Validator
Dùng đề kiểm tra giá trị của điều khiển phải theo mẫu quy định trước: địa chỉ email, số điện thoại, mã vùng, sốn chứng minh thư
Trong trường hợp không nhập liệu, điều khiển sẽ không thực hiện kiểm tra vi phạm
Thuộc tính:
• ValidationExpression: qui định mẫu kiểm tra nhập liệu
• Một số ký hiệu thường sử dụng: A,1,[0-n],[abc],\w,\d…
Trang 53Validation web controls
Trang 54Validation web controls
Trang 55Validation web controls
Điều khiển Custom Validator
Điều khiển này cho phép viết hàm xử lý kiểm tra lỗi
Sự kiện:
• ServerValidate: đặt các xử lý kiểm tra dữ liệu trong sự kiện này Việc kiểm tra này được thực hiện tại Server
• ClientValidationFunction: Chỉ ra tên hàm xử lý lỗi client-side
Trang 56Validation web controls
Trang 57Validation web controls
Trang 58Validation web controls
Trang 59Validation web controls
Điều khiển Validation Summary
Dùng để hiển thị ra bảng lỗi – tất cả các lỗi hiện có trên trang web Nếu điều khiển nào có dữ liệu không phù hợp, chuỗi thông báo lỗi – giá trị thuộc tính ErrorMessage của Validation Control sẽ được hiển thị Nếu giá trị của thuộc tính ErrorMessage không được xác định thì thông báo lỗi đó sẽ không được xuất hiện trong bảng lỗi
Các thuộc tính:
thị như cửa sổ Messagebox hay không Giá trị mặc định là False
Trang 60Validation web controls
Trang 61Validation web controls
Điều khiển Literal:
Tương tự như Label, dùng để hiển thị chuỗi văn bản trên web
Điểm khác biệt chính giữa Label và Literal là khi hiển thị nội dung lên trang web ( lúc thi hành), điều khiển Literal không tạo ra thêm
01 tag HTML nào cả, còn Label sẽ tạo ra một tag span ( được sử dụng để lập trình ở phía client)
Điều khiển Panel và PlaceHoder:
Dùng để chứa các điều khiển khác
Thuộc tính thường dùng của hai điều khiển này là False
Nếu Visible=True, tất cả các điều khiển bên trong sẽ hiển thị và ngược lại
Panel cho phép kéo các điều khiển vào trong lúc thiết kế còn PlaceHolder thì không
Để thêm control vào trong PlaceHolder dùng: