90 HTML Control được tạo ra từ các tag HTML tĩnh thường được sử dụng lập trình ở phía client Khi sử dụng HTML Control để lập trình phía Server ta gán thuộc tính runat="Server" c
Trang 1Giảng Viên: Th.S Phạm Đào Minh Vũ Email: phamdaominhvu@yahoo.com
1
LẬP TRÌNH WEB ASP.NET VỚI C#
Trang 388
người dùng
Khoa CNTT Trường CĐ CNTT TP.HCM
Chuổi sự kiện của đối tượng Page
Xẩy ra đầu tiên khi được yêu cầu Chứa các xử lý và giá trị khởi động ban đầu Khi trang web chuẩn bị trả về client
Khi thoát trang web
Trang 4 True : Giữ nguyên vị trí người dùng đang duyệt trang
False : Hiển thị lại phần đầu của trang web
Khoa CNTT Trường CĐ CNTT TP.HCM
Trang 590
HTML Control được tạo ra từ các
tag HTML tĩnh thường được sử
dụng lập trình ở phía client
Khi sử dụng HTML Control để lập
trình phía Server ta gán thuộc tính
runat="Server" cho HTML Control
đó được gọi là HTML Server
Control
HTML Control trên Toolbox
Khoa CNTT Trường CĐ CNTT TP.HCM
Trang 691
Để chuyển các HTML Control thành các HTML Server Control, ta chọn Run As Server Control từ menu ngữ cảnh hoặc gán thuộc tính runat=“Server” cho HTML Control
Khoa CNTT Trường CĐ CNTT TP.HCM
Trang 792
Những lý do nên sử dụng Standard
Web Control:
Đơn giản: tương tự như
Windows Form Controls
Đồng nhất: Có các thuộc tính
giống nhau dễ tìm hiểu và sử
dụng
Hiệu quả: Tự động phát sinh ra
các tag HTML theo từng loại
Browser
Khoa CNTT Trường CĐ CNTT TP.HCM
Trang 893 Bảng liệt kê các thuộc tính chung của các Web control
(ID) Tên của điều khiển Tên của điều khiển là duy nhất
AccessKey Ký tự để di chuyển nhanh đến điều khiển - phím nóng
Attributes Tập hợp các thuộc tính của điều khiển HTML
BackColor Màu nền của điều khiển
BorderColor Màu đường viền của điều khiển
BorderStyle Kiểu đường viền của điều khiển
BorderWidth Độ rộng của đường viền
CssClass Hình thức hiển thị của điều khiển qua tên CSS
Enabled Điều khiển có được hiển thị hay không Mặc định là True
Font Font hiển thị cho điều khiển
ForeColor Màu chữ hiển thị trên điều khiển
Height Chiều cao của điều khiển
ToolTip Dòng chữ sẽ hiển thị khi rê chuột vào điều khiển
Width Độ rộng của điều khiển
Khoa CNTT Trường CĐ CNTT TP.HCM
Trang 9lblA.Text = "Đây là chuỗi văn bản thường";
lblB.Text ="<B>Còn đây là chuỗi được in đậm</B>";
Khoa CNTT Trường CĐ CNTT TP.HCM
Trang 10Rows: Số dòng hiển thị nếu textbox có nhiều dòng
Maxlength: Số ký tự tối đa được nhập
Wrap: Văn bản có được phép tự động xuống dòng khi độ rộng của textbox không đủ
Khoa CNTT Trường CĐ CNTT TP.HCM
Trang 1196
Khoa CNTT Trường CĐ CNTT TP.HCM
Trang 12 ImageURL: Đường dẫn tập tin hình ảnh
AlternateText: Chuỗi văn bản sẽ hiển thị chú thích,
khi hình ảnh không tồn tại (không load được)
ImageAlign: Vị trí hiển thị giữa hình và nội dung
Trang 1499
3.3.4 Button, ImageButton, LinkButton
Mặc định là các nút Submit Button, khi được nhấn vào sẽ PostBack về Server
Các thuộc tính:
- 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
- Ngoài những thuộc tính trên, điều khiển ImageButton còn
có các thuộc tính ImageURL, ImageAlign và AlternateText như điều khiển Image
Khoa CNTT Trường CĐ CNTT TP.HCM
Trang 16ImageURL : Tập tin ảnh hiển thị trên điều khiển
Text : Nhãn văn bản hiển thị trên điều khiển
NavigateUrl : Đường dẫn cầ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ị trang liên kết ở cửa sổ mới
_ self : Hiển thị trang liên kết tại cửa sổ chứa liên kết _ parent : Hiển thị trang liên kết ở frame cha
Khoa CNTT Trường CĐ CNTT TP.HCM
Trang 17102
Ví dụ: Tạo trang web gồm 3 điều khiển Hyperlink
Khoa CNTT Trường CĐ CNTT TP.HCM
Trang 18+ SelectionMode : Cách chọn các mục trong ListBox Single: Chỉ chọn một mục có trong danh sách
Multiple: Cho phép chọn nhiều mục
Khoa CNTT Trường CĐ CNTT TP.HCM
Trang 20SelectedValue : 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
Khoa CNTT Trường CĐ CNTT TP.HCM
Trang 23108
3.3.7 Checkbox, RadioButton
Các thuộc tính
Checked : Trạng thái của mục chọn (chọn hay không)
TextAlign : Vị trí của điều khiển so với chuỗi văn bản
AutoPostBack : Có được tự động PostBack về Server khi các mục chọn bị thay đổi, mặc định là False
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 lại thành 1 nhóm
Khoa CNTT Trường CĐ CNTT TP.HCM
Trang 25 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
Tạo mới:
Kéo thả RadioButtonList (Hoặc CheckboxList) vào Form
Chọn Edit Items
Khoa CNTT Trường CĐ CNTT TP.HCM
Trang 26AutoPostBack : 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 Mặc định là False
Trang 28113
Ví dụ: Tạo trang web hiển thị các thông tin
Khoa CNTT Trường CĐ CNTT TP.HCM
Trang 29114
3.4.1 Điều khiển Literal
Tương tự như điều khiển Label, Literal được sử dụng để hiển thị chuỗi văn bản trên trang Web
Điểm khác biệt là khi thi hành, Literal không tạo thêm tag Html, còn Label sẽ tạo ra tag span (được sử dụng để lập trình ở phía client)
Khoa CNTT Trường CĐ CNTT TP.HCM
Trang 30Label1.Text="<b>Đây là chuỗi ký tự trong label</b>";
Literal1.Text = "<i> Đây là chuỗi ký tự trong Literial</i>";
}
Khi thiết kế
Xem source:
< span id="Label1" style="display:inline-block;width:417px;">
<b>Đây là chuỗi ký tự trong label</b></ span ><br />
<i> Đây là chuỗi ký tự trong Literial</i>
Trang 31116
3.4.2 Điều khiển AdRotator
Được dùng để tạo ra các ảnh quảng cáo (tại 1 vùng
sẽ có nhiều ảnh, xuất hiện theo tuần xuất), nó tự động thay đổi các hình ảnh mỗi khi có yêu cầu (PostBack về server)
Khoa CNTT Trường CĐ CNTT TP.HCM
Sự kiện
AdCreated: Xảy ra khi điều khiển tạo ra các quảng cáo
Trang 32117
Khoa CNTT Trường CĐ CNTT TP.HCM
Thuộc tính
điều khiển Cú pháp của tập tin Advertisement (*.xml)
<Advertisements>
<Ad>
<ImageUrl> Đường dẫn tập tin hình ảnh </ImageUrl>
<NavigateUrl> Đường dẫn liên kết </NavigateUrl>
<AlternateText> Chuỗi văn bản Tooltip </AlternateText>
<Keyword> Từ khóa dùng để lọc hình ảnh </Keyword>
<Impressions> Tần suất hiển thị của ảnh </Impressions>
</Ad>
</Advertisements>
Lưu ý: Các giá trị có phân biệt chữ Hoa chữ thường
Trang 33118
Khoa CNTT Trường CĐ CNTT TP.HCM
Bước 1 Thiết kế giao diện
Bước 2 Tạo tập tin dữ liệu: Quangcao.xml
Sử dụng chức năng Add New Item… từ thực đơn ngữ cảnh Chọn XML File trong hộp thoại Add New Item
Trang 34<ImageUrl> Pictures\Baihatviet.gif </ImageUrl>
<NavigateUrl> http://www.Baihatviet.net </NavigateUrl> <AlternateText> Web Nhạc bài hát việt </AlternateText> <Keyword> Music </Keyword>
<Impressions> 10 </Impressions>
</Ad>
<Advertisements>
Trang 37122
3.4.3 Điều khiển Calendar
Dùng để hiển thị và cập nhật dữ liệu kiểu ngày
Khoa CNTT Trường CĐ CNTT TP.HCM
Trang 38123
Thuộc tính
DayHeaderStyle: Tiêu đề của các ngày trong tuần
DayStyle: Các ngày trong điều khiển
NextPrevStyle: Tháng trước/sau của tháng đang chọn
SelectedDayStyle : Ngày đang được chọn
TitleStyle: Tiêu đề của tháng được chọn
TodayDayStyle: Ngày hiện hành (trên server)
WeekendDayStyle: Các ngày cuối tuần (thứ 7, chủ nhật)
OtherMonthDayStyle: Các ngày không nằm trong tháng hiện tại SelectedDate: Giá trị ngày được chọn trên điều khiển
Khoa CNTT Trường CĐ CNTT TP.HCM
Sự kiện
SelectionChanged: Sự kiện này xảy ra khi chọn một ngày
Trang 39124
Khoa CNTT Trường CĐ CNTT TP.HCM
Bước 1: Tạo Calendar vào trang
Bước 2: Chọn mẫu định dạng: Click phải /Auto Format
Trang 40125
Khoa CNTT Trường CĐ CNTT TP.HCM
Xử lý sự kiện:
protected void Page_Load(object sender, EventArgs e){
lbNgay.Text = "Hôm nay ngày " +
DateTime.Today.ToString ("dd/MM/yyyy"); }
protected void Calendar1_SelectionChanged1( ) {
lbThongbao.Text ="Bạn đang chọn " +
Calendar1.SelectedDate.ToString("dd/MM/yyyy");
}
Trang 41126
Sử dụng Upload file từ chính ứng dụng Web File sau khi Upload có thể lưu trữ ở 1 nơi nào đó trên webserver
Khoa CNTT Trường CĐ CNTT TP.HCM
Enable Vô hiệu hoá điều khiển FileUpload
FileBytes Lấy nội dung file đã được upload như một mảng Byte FileContent Lấy nội dung của file đã được upload theo dòng dữ liệu FileName Lấy tên file được Upload
HasFile Trả về giá trị true khi File được Upload
Trang 42127
Các phương thức:
Focus: Chuyển con trỏ đến điều khiển FileUpload
SaveAs: Cho phép lưu file được upload lên hệ thống
Khoa CNTT Trường CĐ CNTT TP.HCM
Trang 44129
3.4.5 Điều khiển Panel và PlaceHolder
Dùng để chứa các điều khiển khác
Thuộc tính Visible=True : các điều khiển chứa bên trong
sẽ được hiển thị và ngược lại
Tuy nhiên, điều khiển Panel cho phép chúng ta kéo những điều khiển vào bên trong nó lúc thiết kế, còn điều khiển PlaceHolder thì không
Khoa CNTT Trường CĐ CNTT TP.HCM
Trang 45Direction: Thiết lập hướng hiển thị nội dung được đưa ra
trong panel: NotSet, LeftToRight, RightToLeft
chú giải riêng biệt
HorizontalAlign: Chỉ ra hướng ngang thể hiện nội dung của panel:Center, Justify, Left, NotSet, Right
ScrollBars: Hiển thị scrollbars khi nội dung trong panel
vượt quá kích thước: Auto, Both, Horizontal, None, Vertical
Trang 47132
Khoa CNTT Trường CĐ CNTT TP.HCM
Xử lý sự kiện:
protected void Page_Load(object sender, EventArgs e) {
for (int i = 1; i < 100; i++) {
Trang 48133
3.4.6 Điều khiển hiển thị các trang – View và MultiView
Cho phép ẩn hoặc hiện các phần khác nhau của trang Web, tiện ích khi tạo một TabPage để chia 1 trang web có độ dài lớn thành các phần để hiển thị
Điều khiển MultiView chứa đựng 1 hoặc nhiều điều khiển View
Khoa CNTT Trường CĐ CNTT TP.HCM
Trang 49chứa đựng trong điều khiển MultiView
Trang 50Tạo 1 Multiview1 gồm 3 View (View1 View2, View3)
Tạo Control Menu1 gồm 3 Tab (Tab1, Tab2, Tab3)
Tạo Control Menu vào Form
Trang 51136
Khoa CNTT Trường CĐ CNTT TP.HCM
Chọn Edit Menu Item
Lần lượt khái báo các nhãn (Text) là: Tab 1, Tab 2, Tab 3
và các giá trị (Value) tương ứng là: 0, 1, 2
Thuộc tính Orientation: Horizaltal (Menu hướng ngang)
Trang 53void Menu1_MenuItemClick(object sender, MenuEventArgs e){
int index = int.Parse(e.Item.Value);
Trang 54139
3.5 Đối tượng ViewState
Được cung cấp để lưu lại những thông tin của trang web sau khi web server gởi kết quả về cho Client
Mặc định, trang web sẽ cho phép sử dụng đối tượng ViewState thông qua thuộc tính EnableViewState = True
Khoa CNTT Trường CĐ CNTT TP.HCM
Gán giá trị cho ViewState:
ViewState("Tên trạng thái") = <giá trị>;
Nhận giá trị từ đối tượng ViewState:
<biến> = ViewState("Tên trạng thái");
Trang 55Khoa CNTT Trường CĐ CNTT TP.HCM
Trang 56Private Sub Page_Load(…) Handles MyBase.Load
If Not IsPostBack Then
ViewState("So_lan") = 0
Else ViewState("So_lan") += 1
End If
lblTB.Text = "Số lần Postback: " + CStr(ViewState("So_lan"))
End Sub
Private Sub butDem_Click() Handles butDem.Click
End Sub
Trang 57Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn