Bài giảng MS Visual Basic .NET - Chương 7: Web Application
Giới thiệu ASP.Net
Tạo Web Forms
Các Control Server của ASP.Net
Các Control Validation
Tóm tắt nội dung Bài giảng MS Visual Basic .NET - Chương 7: Web Application, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
o cho trang như các control. Page_Init là sự kiện trang cho sự kiện Init của trang. Phương thức Page_Load dùng điều khiển sự kiện Load của trang. Bạn cũng có thể thêm các sự kiện khác trên trang. Chạy ứng dụng Ấn Ctrl + F5 Thư mục gốc ứng dụng IIS VS.Net khi tạo ứng dụng ASP.Net bạn cần chỉ định tên project và vị trí đặt ứng dụng như: hoặc Vị trí đặt ứng dụng là tên máy tính và tham chiếu đến đường dẫn thư mục Khi phát triển ứng dụng ASP.Net thư mục gốc của ứng dụng được tạo trong Default Web Site của IIS Thư mục ứng dụng nằm tại: :\inetpub\wwwroot\. III. Các Control Server của ASP.Net ASP.Net cung cấp cho bạn nhiều control tạo các trang web động và tương tác với người sử dụng. Các control chấp nhận mô hình lập trình phía server mà người sử dụng ở phía client tương tác với control server để phát sinh các sự kiện sẽ xử lý phía server. Trang này được biên dịch -> đối tượng gọi là Page Khi trang được yêu cầu các control server được biên dịch và thực thi trên server. Server Controls khác gì HTML Controls thông thường? HTML controls không có bất kỳ tương tác nào với server sau khi chúng hiển thị về trên trang. Còn Server Controls cho phép truy cập các phương thức, các thuộc tính, các sự kiện tại phía Server. Các kiểu Server Control .Net Framwork hỗ trợ HTML server controls và Web server controls. HTML server controls: là các thẻ HTML bạn có thể sử dụng code phía server. Nẳm trong namespace System.Web.UI.HtmlControls được lấy từ lớp cơ sở HtmlControl Web server controls: nằm trong namespace System.Web.UI.WebControls. Các control này cũng gọi là Web Controls. Web control cũng bao gồm: List controls: là các control tạo các danh sách(list). Ví dụ có thể sử dụng ListBox và DropDrawList Validation controls: là các control kiểm tra và validate giá trị được nhập vào các control khác trên trang. Ví dụ RequiredFieldValidator và CustomValidator Rich controls: là các control đặc biệt được sử dụng tạo đầu ra cho các công việc đặc biệt. Ví dụ: Calendar và AdRotator User controls: bạn có thể tạo các control như các trang Web form và nhúng các control vào trang web khác. Bảng HTML server control và thẻ tương ứng Bảng HTML server control và thẻ tương ứng(tiếp) Sự khác nhau giữa HTML server controls và Web controls? Khi tạo ứng dụng web, bạn phân vân nên chọn HTML server control hay Web control? Phụ thuộc vào yêu cầu của bạn và chức năng yêu cầu mỗi control. Bạn phải hiểu chức năng của cả hai loại server control. So sánh hai loại control: HTML server controls và Web controls Sự khác nhau giữa HTML server cotrols và Web controls? Ánh xạ tới thẻ HTML(Mapping to HTML tags): HTML server controls ánh xạ trực tiếp tới thẻ HTML, nó được chuyển đổi thành server control bằng việc dùng thuộc tính runat = “server”. Web control không ánh xạ trực tiếp tới thẻ HTML. Do đó bạn phải include control từ bên thứ ba. Mô hình hướng đối tượng(Object Model): HTML server control thiết lập các thuộc tính dùng cặp chuỗi tên/giá trị không định kiểu mạnh. Web control thiết lập theo chuẩn property. Trình duyệt đích (Targe browser): HTML server control không thay đổi phụ thuộc vào trình duyệt đích-> cần đẳm bảo control trả về đúng với trình duyệt. Web control trả về đầu ra tự động điều chỉnh phụ thuộc vào trình duyệt đích-> chắc chắn control trả vể đúng với trình duyệt Thêm các web controls lên Form Thêm các server control lúc thiết kế hoặc lúc chạy. Thêm lúc thiết kế có thể dùng Toolbox hoặc ở chế độ HTML của trang .aspx Có thể thêm lúc chạy bằng việc dùng thẻ trong trang .aspx hoặc file code behind. Dùng Toolbox Toolbox phân loại các control thành các nhóm thuận tiện cho việc truy cập. Dùng ở chế độ hiển thị HTML Có thể thêm server control bằng cách chỉ định code ASP.Net trực tiếp trong chế độ hiển thị HTML của file .aspx. Dùng trong code behind ASP.Net cho phép bạn thêm các server control lúc chạy. Bạn có thể tạo một instance của lớp Control thừa kế từ lớp cơ sở WebControl Giả sử bạn muốn tạo một textbox lúc chạy: Dim txt As New TextBox txt.ID = "txtTest" txt.Text = "ABC" Panel1.Controls.Add(txt) Thiết lập thuộc tính WebControl Các server control có các thuộc tính thông dụng kế thừa từ lớp cơ sở WebControl. Có thể thiết lập thuộc tính lúc thiết kế hoặc lúc chạy. Thiết lập thuộc tính của control lúc thiết kế bạn dùng cửa sổ Properties Hiển thị của sổ Property của control, kích chuột phải trên control rồi chọn Properties từ context menu hoặc ấn F4. Cửa sổ Properties của Textbox Thiết lập thuộc tính WebControl Cũng có thể thiết lập các thuộc tính của WebControl trực tiếp trong chế độ hiển thị HTML. Đôi khi cần thiết lập thuộc tính lúc chạy. Cú pháp sử dụng trong lập trình: ControlID.PropertyName = Value Ví dụ: txtTest.Enabled = True Các sự kiện điều khiển trong WebControl Mỗi control có các sự kiện riêng có thể điều khiển trong code behind của trang .aspx Ví dụ: nút button có sự kiện click Private Sub btnAccept_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles AcceptButton.Click 'Code statements End Sub Để mở file code behind có thể dùng cửa sổ Solution Explorer hoặc ấn F7 Các sự kiện điều khiển trong WebControl Cũng có thể tạo các sự kiện server control trong file .aspx Viết sự kiện trong trang Aspx Sub btnAccept_Click(sender as Object, e as EventArgs) ‘Code comes here End Sub Các thuộc tính, phương thức, sự kiện hay sử dụng trong WebControl Các thuộc tính, phương thức, sự kiện hay sử dụng trong webcontrols Các thuộc tính, phương thức, sự kiện hay sử dụng trong webcontrols Các control validation Dữ liệu người sử dụng phải được validation trước khi insert vào CSDL ASP.Net, việc validate dùng các control validation -> bạn không cần phải viết code validation. Ví dụ: bạn muốn validation dữ liệu nhập vào text box bạn có thể add control validation và kết hợp với control bạn cần validate. Các control validate gì? ASP.Net cung cấp 6 control validate, tất cả đều kế thừa từ lớp cơ sở BaseValidator RequiredFieldValidator: kiểm tra control là rỗng hay không. CompareValidator: so sánh giá trị các control có khớp nhau hay không. RangeValidator: kiểm tra giá trị control là trong khoảng text hay khoảng của số. RegularExpressionValidator: kiểm tra giá trị control khớp biểu thức biểu thức chính qui. CustomValidator: thi hành validate do người dùng tự định nghĩa. ValidationSummary: hiển thị tất cả các lỗi trong nhóm Các control validation Cách làm để validation: 4 bước Add control validation. Kết hợp nó với control cần validation. Đặt thuộc tính ControlToValidate là control này. Gắn các control validations và các control cần valiadate. Các control validation gắn vào control cần validation tương ứng giá trị nhập vào control này. Các control validation hợp lệ khi các giá trị thỏa mãn yêu cầu control. Khi kết thúc validation, giá trị trả về qua thuộc tính IsValid bằng True hoặc False. Sau khi validation thành công, trang gửi dữ liệu lên server. Cách dùng Validate control Tham khảo ví dụ dùng validate control Cách dùng các control validation sẽ kiểm tra tại server. Một cách khác bạn có thể validation tại client bằng việc dùng script. Validation tại client sẽ giảm thời gian quay vòng và cải thiện hiệu năng. Các lỗi sẽ hiển thị ngay khi người sử dữ liệu không hợp lệ. Thiết kế DemoWeb RequiredFieldValidator Dùng kiểm tra giá trị của control có hợp lệ hay không. Bảng thuộc tính Code Private Sub btnAcept_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAcept.Click If Page.IsValid = True Then 'Specify a message to be displayed on the label lblMessage.Text = "Welcome " + txtUserName.Text 'Make the label visible lblMessage.Visible = True End If End Sub CompareValidator Dùng để so sánh giá trị nhập bởi control này với một control khác hoặc một giá trị có sẵn. Các toán tử: Equal, NotEqual, GreaterThan và LessThan cho phép so sánh các kiểu: String, Integer, Double, Date và Currency Bảng thuộc tính CompareValidator Code HTML RangeValidator Dùng để kiểm tra giá trị nằm trong một khoảng xác định. Bạn có thể thiết lập giá trị max và min cho cho control. Cũng có thể giá trị hằng từ các control khác. Các thuộc tính thông dụng ControlToValidate, ErrorMessage và Display. Các thuộc tính khác: MaximumValue, MinimumValue, Type RegularExpressionValidator Dùng để validate giá trị nhập vào control tuân theo một chuẩn nào đó ví dụ như số điện thoại, địa chỉ email, Zip codes … Các thuộc tính thường sử dụng: ControlToValidate, ErrorMessage, Display, ValidationExpression. Thuộc tính ValidationExpression được dùng nhập vào mẫu định dạng biểu thức cần kiểm tra xem có đúng định dạng không. Ví dụ RegularExpressionValidator Thuộc tính: ValidationExpression = [0-9]{3}-[0-9]{3}\s[0-9]{4} [0-9] nhận tất cả các số 0-9 {3} yêu cầu 3 số được nhập cho phần đầu tiên - là dấu bắt nhập \s chỉ định một khoảng trắng CustomValidator Cho phép bạn validate một control theo kiểu người dùng tự định nghĩa. Đây là một control cho phép bạn validation ở phía client hoặc server. Thuộc tính ClientValidationFunction dùng để thiết lập hàm/thủ thục script. Phía Server, control cung cấp sự kiện ServerValidate, bạn phải viết code ở đây. ValidationSummary Dùng control này để hiển thị tất cả các lỗi trên trang. Bạn có thể hiển thị lỗi trong 1 list, dạng chỉ mục hoặc định dạng một đoạn văn. Cung cấp tùy chọn để hiển thị các lỗi trong một dòng hoặc dạng pop-up. Các thuộc tính CustomerValidator Dùng nhiều control validation Bạn có thể kết hợp nhiều control validation cho nhiều điều kiện. Ví dụ: Bạn cần dùng control validation để kiểm tra độ dài của Password xem người dùng có nhập đúng độ dài hay không, và bạn cũng muốn kiểm tra Password vừa chữ lại vừa có số thì bạn có thể kết hợp cả hai control validation: RangeValidator, RegularExpressionValidator Tổng kết Chương này bao gồm cơ sở ASP.Net và các yêu cầu platform cho ứng dụng ASP.Net. Giới thiệu chi tiết về kiến trúc ASP.Net và giới thiệu các ứng dụng Web. Các kiểu server control và validation control mà bạn có thể sử dụng trên trang ASP.Net cung cấp cấu trúc framework cho bạn hoàn thành các ứng dụng Web Do you have any question?
File đính kèm:
- Bài giảng MS Visual Basic .NET - Chương 7_Web Application.ppt