Bài giảng Lập trình web - Chương 1: Trang master và các điều khiển trong ASP.NET - Chu Thị Hường

ĐIỀU KHIỂN WEB SERVER  Đặc điểm của các điều khiển web server :  Tự động dò tìm trình duyệt  Sử dụng Template: Một số điều khiển Web Server cho phép người dùng định nghĩa thêm layout bằng cách sử dụng Template  Hỗ trợ các themes, cho phép định nghĩa nhất quán giao diện các điều khiển trên toàn bộ site. ĐIỀU KHIỂN WEB SERVER  Namespace System.Web.UI.WebControls  System.Web.UI.WebControls chứa các lớp cho phép tạo các điều khiển Web Server  Các lớp thuộc không gian miền này như Lable, Textbox, Button, ListBox,  Class WebControl thuộc không gian miền System.Web.UI.WebControls. Nó đóng vai trò lớp cơ sở cho hầu hết các điều khiển Web Server.

pdf53 trang | Chia sẻ: thanhle95 | Lượt xem: 488 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Bài giảng Lập trình web - Chương 1: Trang master và các điều khiển trong ASP.NET - Chu Thị Hường, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
LẬP TRÌNH WEB Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT TRANG MASTER VÀ CÁC ĐIỀU KHIỂN TRONG ASP.NET  Xây dựng trang Master.  Giới thiệu  Các phần tử trong trang Master  Tạo trang Master và content Lập trình tương tác với trang Master NỘI DUNG Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 2   Nhóm điều khiển trong ASP.NET:  Giới thiệu  Các điều khiển Web server  Các điều khiển Validation,  Các điều khiển HTML server.  Master Page là gì?  Xét kịch bản thiết kế một ứng dụng web gồm 20 trang.Tất cả các trang đều giống nhau về sự kết hợp màu sắc, MASTER PAGES Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 3 logos, menu, ...  Giả sử thiết kế của logo thay đổi:  Điều gì xảy ra?  Giải pháp gì?  Master Page là gì?  ASP.NET Master Pages giúp chúng ta tạo một template hoặc một layout thống nhất cho nhiều trang trong một ứng dụng Web. MASTER PAGES Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 4  Định nghĩa các tính năng chuẩn của một ứng dụng web trong trang Master  Các tính năng này có thể được lặp lại trên tất cả hoặc một nhóm các trang bằng cách kế thừa trang Master này.  Đặc điểm trang Master:  Trang Master có đuôi mở rộng .master và được nhận dạng bằng dẫn xuất @Master. Mỗi trang web được bao gồm hai phần: MASTER PAGES Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 5  Master Page  Content Pages  Các phần tử trong trang Master: Có 3 loại phần tử trong một trang Master :  Content Placeholders  Non editable regions MASTER PAGES Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 6  HTML Elements  Các phần tử trong trang Master:  Content Placeholders:  Là vùng có thể thay đổi được trên trang Master và ta có thể tùy biến được cho MASTER PAGES Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 7 mỗi trang.  Một trang Master có thể có nhiều hơn một Content Placeholders.  Điều khiển ContentPlaceholders cho phép tùy biến nội dung.  Các phần tử trong trang Master:  Vùng không thay đổi (Non editable regions): Là vùng không tùy biến được trên mỗi trang, chứa các phần MASTER PAGES Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 8 tử chung của các trang trong ứng dụng web.  Các phần tử này có thể là: Logos công ty, menu, copyright,  Các phần tử trong trang Master:  HTML Elements: Trang master chứa các phần tử HTML ở mức top như , , , MASTER PAGES Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 9 ,... Ngoài ra, các thẻ HTML còn dùng cho thiết kế các phần tử dùng chung.  Tạo trang Master MASTER PAGES Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 10  Thêm content cho trang Master: MASTER PAGES  Một trang Master phải có ít nhất một ContentPlaceHolder, tuy nhiên cũng có thể Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 11 có nhiều hơn một ContentPlaceHolder, bằng cách:  Cách 1: Sử dụng Design View  Thêm content cho trang Master:  Cách 2: Khai báo cú pháp MASTER PAGES Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 12  Tạo file content sử dụng trang Master: MASTER PAGES  Cách 1: Dùng cửa sổ Add New Item Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 13  Tạo file content sử dụng trang Master: MASTER PAGES  Cách 2:  Right Click lên trang Master.  Chọn Add Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 14 Content Page.  Tạo file content sử dụng trang Master:  Cách 3: Khai báo cú pháp MASTER PAGES Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 15  Lập trình tương tác với trang Master: MASTER PAGES Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 16 GiỚI THIỆU NHÓM CÁC ĐIỀU KHIỂN WEB SERVER  ASP.NET cung cấp nhiều nhóm điều khiển server khác nhau:  HTML Server controls  Web server controls Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 17  Navigation controls  Validation controls  Data controls  Login controls  User defined controls GIỚI THIỆU NHÓM CÁC ĐIỀU KHIỂN WEB SERVER  HTML Server controls  Là các lớp bọc các phần tử HTML chuẩn và có thêm tính năng tương tác phía server.  Chuyển thẻ HTML sang điều khiển HTML bằng cách thêm thuộc tính Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 18 runat="server“. Ví dụ: Tên đăng nhập Họ tên GiỚI THIỆU NHÓM CÁC ĐIỀU KHIỂN WEB SERVER  Web server controls (Web controls)  Là các lớp trùng lặp các chức năng của các phần tử HTML cơ bản, nhưng chúng có các tập thuộc tính Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 19 và phương thức có tính nhất quán, ý nghĩa giúp người pháp triển dễ dàng khai báo và truy cập. GiỚI THIỆU NHÓM CÁC ĐIỀU KHIỂN WEB SERVER  Web server controls (Web controls)  Web server controls có tất cả các tính năng của các điều khiển HTML server. Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 20 GiỚI THIỆU NHÓM CÁC ĐIỀU KHIỂN WEB SERVER  Validation controls  Kiểm tra tính hợp lệ của dữ liệu trên các điều khiển input. Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 21 GiỚI THIỆU NHÓM CÁC ĐIỀU KHIỂN WEB SERVER  Navigation controls  Là nhóm điều khiển được thiết kế hiển thị site map.  Cho phép điều hướng từ trang này sang trang khác. Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 22 GiỚI THIỆU NHÓM CÁC ĐIỀU KHIỂN WEB SERVER  Login controls  Cung cấp các điều khiển phục vụ cho việc xác thực người dùng. Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 23 GiỚI THIỆU NHÓM CÁC ĐIỀU KHIỂN WEB SERVER  Data controls  Là nhóm các điều khiển hỗ trợ truy xuất và hiển thị dữ liệu.  User defined controls  Là nhóm các điều khiển do người dùng định nghĩa, gồm hai loại: Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 24  User Controls  Custom controls ĐIỀU KHIỂN WEB SERVER  Đặc điểm của các điều khiển web server :  Tự động dò tìm trình duyệt  Sử dụng Template: Một số điều khiển Web Server cho phép người dùng định nghĩa thêm layout bằng cách sử dụng Template Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 25  Hỗ trợ các themes, cho phép định nghĩa nhất quán giao diện các điều khiển trên toàn bộ site. ĐIỀU KHIỂN WEB SERVER  Namespace System.Web.UI.WebControls  System.Web.UI.WebControls chứa các lớp cho phép tạo các điều khiển Web Server  Các lớp thuộc không gian miền này như Lable, Textbox, Button, ListBox, Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 26  Class WebControl thuộc không gian miền System.Web.UI.WebControls. Nó đóng vai trò lớp cơ sở cho hầu hết các điều khiển Web Server. ĐIỀU KHIỂN WEB SERVER  Lớp WebControl: Bảng sau là các thuộc tính, phương thức và các sự kiện thông thường được kế thừa cho các điều khiển dẫn xuất từ lớp này. Tên Mô tả AccessKey Property Chỉ định Key cho phép điều hướng nhanh đến Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 27 điều khiển. BackColor Property Chỉ định hoặc truy xuất màu nền của điều khiển Web Server ForeColor Property Chỉ định hoặc truy xuất ForeColor của điều khiển Web Server Height Property Chỉ định hoặc try xuất chiều cao của điều khiển. ĐIỀU KHIỂN WEB SERVER  Lớp WebControl: Tên Mô tả CssClass Chỉ định hoặc truy xuất đến tập CSS style gắn với điều khiển. ID Property Chỉ định hoặc truy xuất nhận dạng duy nhất được Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 28 gán cho điều khiển. Visible Property Chỉ định hoặc truy xuất giá trị Boolean gán cho điều khiển mà điều khiển có được hiển thị hay không. Width Property Chỉ định hoặc truy xuất độ rộng của điều khiển. Focus() method Thiết lập forcus cho điều khiển Load event Xuất hiện khi điều khiển được load trong bộ nhớ. ĐIỀU KHIỂN WEB SERVER  Các lớp Web server controls cơ bản: ASP.NET Tag Tên Class Key Label Text, AssociatedControlID TextBox AutoPostBack, Columns, MaxLength, ReadOnly, Rows, Text, TextMode, Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 29 TextChanged event Button Text, PostBackUrl, Click event Image AlternateText, ImageAlign, ImageUrl ImageButton AlternateText, ImageUrl, PostBackUrl, Click event HyperLink ImageUrl, NavigateUrl, Target, Text LinkButton Text, PostBackURL , Click event ĐIỀU KHIỂN WEB SERVER  Các lớp Web server controls cơ bản: ASP.NET Tag Tên Class Key Panel BackImageUrl, DefaultButton, GroupingText, HorizontalAlign, Scrollbars CheckBox AutoPostBack, Checked, Text, TextAlign, Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 30 CheckedChanged event RadioButton AutoPostBack, Checked, GroupName, Text, TextAlign, CheckedChanged event Table BackImageUrl, CellPadding, CellSpacing, GridLines, Rows (collection) TableCell ColumnSpan, HorizontalAlign, RowSpan, Text, VerticalAlign, TableRow Cells (collection), Horizontal/VerticalAlign ĐIỀU KHIỂN WEB SERVER  Các điều khiển List Control: ASP.NET Tag Tên Class Mô tả DropDownList Là danh sách dạng drop down các đối tượng ListBox Là tập hợp danh sách các đối Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 31 tượng CheckBoxList Các phần tử của nó được hoàn trả như các check boxes. RadioButtonList Các phần tử của nó được hoàn trả như các Radio button. BulletedList Cho danh sách các bullet hoặc number. ĐIỀU KHIỂN WEB SERVER  Các điều khiển List Control: Bảng sau chứa các thuộc tính của lớp ListControl Thuộc tính Mô tả AutoPostBack Nếu true, form tự động tạo posted back khi người dùng thay đổi lựa chọn hiện tại. Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 32 Items Trả về tập hợp các phần tử ListItem SelectedIndex Chỉ định hoặc truy xuất đến Index của phần tử có giá trị index nhỏ nhất trong danh sách các phần tử được chọn. SelectedItem Tả về tham chiếu đến ListItem đầu tiên trong danh sách lựa chọn. ĐIỀU KHIỂN WEB SERVER  Các điều khiển List Control: Bảng sau chứa các thuộc tính của lớp ListControl Thuộc tính Mô tả DataSource Chỉ định đối tượng chứa thông tn muốn hiển thị như DataSet, DataTable, collection... Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 33 DataMember Chỉ định bảng muốn sử dụng trong trường hợp DataSource chứa nhiều hơn một bảng. DataTextField Chỉ định trường muốn hiển thị đối với thuộc tính Text của mỗi Item.. DataValueField Chỉ định trường muốn gán cho thuộc tính Value trên mỗi phần tử Item ĐIỀU KHIỂN WEB SERVER  Ví dụ khai báo và sử dụng <asp:ListBox runat="server" ID="Listbox1" SelectionMode="Multiple" Rows="5"> Option 1 Option 2 Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 34 Option 1 Option 2 //Lập trình truy xuất đến phần tử được chọn. foreach (ListItem li in Listbox1.Items) { if (li.Selected) Response.Write(li.Text + ""); } ĐIỀU KHIỂN ĐiỀU HƯỚNG TRANG VÀ NÂNG CAO  Các điều khiển điều hướng trang:  Menu  TreeView  SiteMapPath. Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 35  Các điều khiển nâng cao:  ImageMap  FileUpload  View  MultiView ĐIỀU KHIỂN ĐIỀU HƯỚNG TRANG  Điều khiển SiteMapData Source: Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 36 ĐIỀU KHIỂN ĐIỀU HƯỚNG TRANG  Điều khiển Menu: Cho phép tạo menu trong hệ thống website. <asp:MenuItem Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 37 Text="Home“ Value="Home"> ĐIỀU KHIỂN ĐIỀU HƯỚNG TRANG  Điều khiển TreeView. Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 38 ĐIỀU KHIỂN ĐiỀU HƯỚNG TRANG  Các điều khiển nâng cao. ASP.NET Tag Key HotSpotMode, HotSpot, ImageURL, AlternateText, Click Event Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 39 AccessKey, PostBackValue, NavigateUrl, Radius, x, y, GetCoordinates method AccessKey, Coordinates, PostBackValue, GetCoordinates method, .. AccessKey, Left, Bottom, Right, Top PostBackValue, GetCoordinates method, ĐIỀU KHIỂN ĐIỀU HƯỚNG TRANG  Các điều khiển nâng cao. ASP.NET Tag Key HasFile, FileName, PostedFile, SaveAs Method Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 40 ActiveViewIndex , Views, SetActiveView Method, ActiveViewChanged Event ĐIỀU KHIỂN ĐIỀU HƯỚNG TRANG  Ví dụ khai báo và sử dụng <asp:MenuItem NavigateUrl="~/Default.aspx" Text="Trang chủ" Value="Trangchu"> Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 41 ĐIỀU KHIỂN VALIDATION  Giới thiệu:  Xác nhận tính hợp lệ (Validation) là tiến trình xác định sự đúng đắn của thực thể được cung cấp.  Dữ liệu trước khi được chấp Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 42 nhận từ phía người dùng cần được kiểm tra tính hợp lệ:  Kiểu,  Giá trị,  Định dạng, ... ĐIỀU KHIỂN VALIDATION  Class BaseValidator: Các lớp điều khiển Validation nằm trong System.Web.UI.WebControls. Lớp BaseValidtor cung cấp như là một lớp cơ sở cho tất cả các điều khiển Validation. Thuộc tính Mô tả ControlToValidate Chỉ định hoặc truy xuất đến ID của điều khiển Web Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 43 Server cần kiểm tra tính hợp lệ. Display Chỉ định hoặc truy xuất đến cách thức hiển thị chuỗi thông báo lỗi trên điều kiển Validation. Có thể nhận các giá trị: None, Static, Dynamic ErrorMessage Chỉ định hoặc truy xuất chuỗi thông báo lỗi trên điều khiển Validtion khi tính hợp lệ không thỏa mãn. IsValid Chỉ định hoặc truy xuất giá trị (true, false) chỉ định xem dữ liệu Input có thỏa điều kiện hợp lệ hay không. ĐIỀU KHIỂN VALIDATION  Các điều khiển: Điều khiển Mô tả RequiredFieldValidator Đảm bảo người dùng nhập dữ liệu trên các điều khiển Input CompareValidator So sách giá trị của một điều khiển Input với một điều khiển Input khác hoặc với một giá trị hằng. Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 44 RangeValidator kiểm tra giá trị người dùng nhập vào có nằm trong phạm vi được chỉ định hay không? RegularExpressionValid ator Kiểm tra tính hợp lệ của giá trị trên điều khiển Input theo một khuôn mẫu của biểu thức. CustomValidator Kiểm tra tính hợp lệ của giá trị nhập trên điều khiển Input có hợp lệ theo một logic đã chỉ định hay không? ValidationSummary Dùng để xem lại các thông báo lỗi xuất hiện trên các điều khiển Validation khác. ĐIỀU KHIỂN VALIDATION  Các điều khiển: Điều khiển Key RequiredFieldValidator InitialValue, SetFocusOnError, Text, ErrorMessage, CompareValidator Operator, ValueToCompare, Text RangeValidator ErrorMessage, IsValid, MaximumValue , MinimumValue, Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 45 Text, Type,... RegularExpressionValid ator ControlToValidate, Display, ErrorMessage , Text , IsValid ValidationExpression CustomValidator ClientValidationFunction, ControlToValidate, ErrorMessage, ValidateEmptyText, ServerValidate Event ValidationSummary DisplayMode, HeaderText, ShowMessageBox , ShowSummary,... ĐIỀU KHIỂN VALIDATION  Thuộc tính Page.Isvalid:  Thuộc tính Page.IsValid dùng để truy xuất đến giá trị chỉ định sự kiểm tra tính hợp lệ của trang?  Thuộc tính này nhận giá trị True khi tất cả các điều khiển Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 46 Validation trên trang đều xác nhận thành công tính hợp lệ.  Dựa trên giá trị trả về của thuộc tính Page.IsValid để quyết định tiếp tục hay không tiến trình Post Back tới Server. ĐIỀU KHIỂN VALIDATION  Ví dụ sử dụng các điều khiển: <asp:RequiredFieldValidator ID="valPass" runat="server" ControlToValidate="txtPass" ErrorMessage="Chưa nhập Password">* Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 47 <asp:RegularExpressionValidator ID="valPassC" runat="server" ControlToValidate="txtPass" ValidationExpression="[a-zA-Z]\w{3,9}">* ĐIỀU KHIỂN HTML SERVER  Giới thiệu:  HTML Server Controls cung cấp để truy xuất vào các thuộc tính và tính chất của các thẻ HTML.  HTML Server Controls trong ASP.NET là tập Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 48 các điều khiển tương ứng các thẻ HTML, chúng được khai báo trên Web page bằng cách thêm thuộc tính runat=“Server”. ĐIỀU KHIỂN HTML SERVER  Không gian miền System.Web.UI.HtmlControls:  Gồm các lớp giúp cho việc tạo các điều khiển HTML Server.  Bao gồm nhiều lớp HtmlInputButton, HtmlImage, HtmlForm, HtmlTable,... Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 49  Dựa trên chức năng có thể được phân lớp thành các nhóm như container controls, Input controls và Image controls ĐIỀU KHIỂN HTML SERVER  Một số điều khiển HTML: Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 50 ĐIỀU KHIỂN HTML SERVER  Ví dụ sử dụng điều khiển HTML:  MarkUp code:  Programming code: HtmlInputText txtTextBox = new HtmlInputText(); Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 51 txtTextBox.ID = "txtFirstName"; txtTextBox.Value = "Chu Thị Hường"; txtTextBox.MaxLength = 10; txtTextBox.Size = 15; form1.Controls.Add(txtTextBox); THẢO LUẬN – CÂU HỎI Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 52  Thực hành các ví dụ  Thực hành sử dụng các điều khiển.  Xây dựng, thiết kế trang Master cho bài tập lớn được phân công BÀI TẬP Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT 04:57 - 53
Tài liệu liên quan