Sự kiện Page_load đợc đợc phát sinh đầu tiên mỗi khi trang ASP.NET đ- ợc triệu gọi từ trình khách, tiếp đến là các sự kiện khác nhau của những thành phần điều khiển bên trong trang. Sau cùng khi bộ diễn dịch đã thực thi xong các yêu cầu của trang, trang sẽ đợc giải phóng. Lúc này sự kiện Page_Unload sẽ đ- ợc triệu gọi.
Sau đây là mô hình thứ tự thực hiện các sự kiện trong một trang
Hình 1. Thứ tự phát sinh các sự kiện
Sự kiện Page_Load
Bất kì khi nào trang ASP.NET đợc yêu cầu, sự kiện Page_Load sẽ phát sinh và đợc triệu gọi thực thi những mã lệnh trong đó. Chúng ta khai báo cho việc cài đặt sự kiện Page_Load thông qua thủ tục sub nh sau:
<script language= VB runat= server >” ” ” ”
Sub Page_Load(Source ASP Object, E ASP EventArgs)
Bên trong sự kiện, chúng ta mở kết nối với cơ sở dữ liệu, thực hiện câu truy vấn
SQL để tạo ra danh sách thông qua đối tợng Recordset bao gồm một tập hợp các mục record đợc dùng để đa vào danh sách. Nội dung việc kết nối và truy vấn dữ liệu đợc thực hiện bằng khối lệnh.
Dim MyCommand As SQLCommand Dim SQL As String
Dim ConnStr As String
SQL = Select*from shipping_methods“ ”
ConnStr = Sever = locationhost ; Uid=sa;Pwd=;Database=AdvWorks“ ”
MyCommand = New SQL Command ( SQL, ConnStr )
Page_Load
Các sự kiện đặc trưng của các thành phần điều khiển
MyCommand.ActiveConnection.Open() MyCommand.Excute(myreader)
Thuộc tính trang page.IspostBack
Ta dùng thuộc tính này để xác định trạng thái trang đợc gọi lại lần hai để tiếp nhận dữ liệu gửi ngợc về từ trình khác. Ta có thể dùng thuộc tính IsPostBack trong trong sự kiện Page_Load để thực hiện khởi tạo dữ liệu một lần duy nhất vào lúc phát sinh sự kiện dầu tiên. Tất cả các sự kiện Page_Load
sau này đều phát sinh do việc gọi lại trang để xử lý tình huống PostBack. Chúng ta thêm vào phơng thức xử lý sự kiện Page_load đoạn mã kiểm tra trạng thái PostBack, trớc khi thực hiện kết nối và truy xuất cơ sở dữ liệu nh sau:
If Not IsPostBack then
Dim MyCommand As SQLCommand Dim Myreader As SQLDataReader
Dim SQL As String Dim ConnStr As String
SQL = Select*from shipping_methods“ ”
ConnStr= server = locationhost ; Uid=sa;Pwd=;Database=AdvWorks” ”
MyCommand = New SQL Command ( SQL, ConnStr ) MyCommand.ActiveConnection.Open()
MyCommand.Excute(myreader) While MyReader.Read()
ShipMethod.Items.Add(New
listItem(MyReader.Item( shippingMethod ),_“ ”
MyReader.Item(ShippingmethodID )))End While”
End If End Sub.
Các điều khiển Web Điều khiển nội tại
Nút check: <ASP:CheckBox> RadioButton <ASP:Button> Hộp text <ASP:TextBox>
Các điều khiển chuyển tải
Button: Sử dụng thành phần điều khiển nút nhấn này nếu ta muốn sự kiện phát
sinh trên trình khách đợcchuyển về trình chủ xử lý.
LinkButton: Thành phần điều khiểnnày cho phép ta thực hiện một số thao tác
xử lý trên trình khách trớc khi thao tác chuyển dữ liệu về server diễn ra do ngời dùng kích hoạt nút liên kết.
ImageButton: Tơng tự nh cách xử lý của điều khiển Button nhng Image cho ta gắn ảnh vào thể hiện nội dung nút nhấn thay vì chỉ là văn bản mô tả thông th- ờng.
HyperLink: liên kết không còn phụ thuộc vào ngôn ngữ Vbscript phi định kiểu nữa. Trang ASP.NET có thể viết bằng rất nhiều ngôn ngữ lập trình hiện đại từ C++,C# cho đến VB, Jscript.