(NB) Nội dung giáo trình Thiết kế web cung cấp cho người học những kiến thức như: Tổng quan về www – ngôn ngữ HTML; thiết kế web tĩnh; thiết kế web động. Mời các bạn cùng tham khảo nội dung phần 2 giáo trình.
BÀI 3: XÂY DỰNG WEB ĐỘNG Mã bài: MĐQTM23-03 Giới thiệu: Bài học giới thiệu cách lập trình tạo web động (web có tương tác với sở liệu động) sử dụng đối tượng ASP.Net, ADO.Net môi trường Visual Studio.Net Mục tiêu: - Cài đặt, cấu hình IIS ngơn ngữ lập trình Web - Sử dụng thành thạo môi trường phát triển lập trình web động - Sử dụng tốt đối tượng ASP.Net, ADO.Net, tiện ích ngơn ngữ lập trình - Có khả kết nối với sở liệu - Thực tốt cơng tác an tồn lao động vệ sinh phân xưởng Nội dung chính: 1.Tổng quan ASP.Net ADO.Net: Mục tiêu: Giới thiệu tổng quan công nghệ phát triển web động Asp.Net Ado.Net, giới thiệu tảng Net Framework, cách cài đặt, cấu hình máy chủ web ảo IIS Giới thiệu mơi trường lập trình web – Visual Studio Net 1.1 Tổng quan ngôn ngữ ASP.Net: 1.1.1 Giới thiệu ASP.Net (Active Server Page Net): a) Các mô hình code trang ASP.NET Một trang Web bao gồm hai phần MarkUp Code Programming code Khi duyệt trang ta thấy phần layout trình duyệt Phần layout thiết kế thẻ markup Programming code viết cho điều khiển tương tác người sử dụng số kiện - MarkUp file dẫn cho trình biên dịch cách biên dịch xử lý trang ASP.NET - Programming code bao gồm kỹ thuật xử lý kiện khác MarkUp code Programming code trang trang khác Dựa vào người ta chia Web Page làm hai dạng: - Single File Page: chứa MarkUp code Programming code trang - Code Behind Page: IDE tạo hai file MarkUp (có phần mở rộng aspx chứa markup code) Class (phần mở rộng aspx.cs, aspx.vb, chứa logic lập trình Markup file chứa tham chiếu đến Code Behind file nên file liên kết với File Code Behind tự động tạo Partial Class Từ khóa Partial định lớp khơng chứa đầy đủ thành phần mà kế thừa từ lớp Page 35 Lớp Page: dẫn xuất từ lớp Page thuộc namespace "System.Web.UI“, kế thừa thuộc tính, phương thức kiện lớp Thuộc tính Mơ tả ID Chỉ định truy xuất định danh đối tượng lớp Page Title Chỉ định truy xuất tiêu đề trang Server Truy xuất đến thể lớp Server Session Truy xuất đến thể lớp Session Session Controls Truy xuất đến thể lớp ControlCollection cho tất điều khiển Server Controls ErrorPage Chỉ định truy xuất đến trang Error mà trang điều hướng đến có lỗi xảy Phương thức Mơ tả HasControls Kiểm tra xem có tồn controls trang hay không LoadControl Load thể lớp Control GetValidators Trả tập đối tượng Validator liên quan đến nhóm Validation định MapPath Trả đường dẫn ảo ánh xạ đến Trong cấu trúc file aspx cho hai dạng bao gồm dẫn trang, script code user interface code b) Các dẫn (Directives) Các dẫn câu lệnh mô tả ứng dụng ASP.NET biên dịch Các dẫn bao cặp và thuộc file aspx Các dẫn tốt nên khai báo vị trí trang Sau số dẫn: Chỉ dẫn Mơ tả @Page Định nghĩa thuộc tính cho Web Page @Import Import tên miền cho trang @Assembly Liên kết Assembly với trang với điều khiển @Master Định nghĩa thuộc tính Master @Reference Liên kết trang, điều khiển tới trang @Register Khai báo điều khiển người dùng - Chỉ dẫn @Page: Page dẫn thuộc tính trang Mỗi thuộc tính 36 gán giá trị, theo mà trang ASP.NET biên dịch Thuộc tính Diễn giải Ví dụ Language CodeFile Inherits ErrorPage Là thuộc tính định ngơn ngữ cho trình biên dịch code Là thuộc tính định đường Load ->PreRender->UnLoad 37 - Init: Là kiện vòng đời trang web T hường dùng khởi tạo tất điều khiển trang web Init dùng biến cần khai báo khởi tạo trước xử lý Web page - Load: Là kiện xảy sau kiện Init Thực Web Page Request Khi người dùng Request trang Web biến điều khiển trang khởi tạo sau trang load lên - PreRender: Là kiện thực trước trang submit (đệ trình) cho người sử dụng - UnLoad: Là kiện xảy sau trang submit cho người dùng Chú ý: Trong tiến trình xử lý kiện trang liên quan đến khái niệm PostBack - PostBack thông tin submit từ Browse đến Server Khi người dùng Submit thông tin cách click vào nút lệnh chọn item lưới Browse chuyển thơng tin đến server Khi người dùng tương tác với Web Page cách phát sinh kiện trang gửi quay trở lại Server Server xử lý code event handlers sau trang tạo lại Như trang lại trải qua vòng đời với kiện Init() Load () - Thuộc tính IsPostBack dùng để kiểm tra Web Page Request lần kết PostBack Nếu trang Request lần thuộc tính IsPostBack nhận giá trị false Nếu trang submit quay trở lại từ Server thuộc tính IsPosstBack nhận giá trị True 1.1.2 Giới thiệu Net Framework: NET Framework sở hạ tầng cung cấp cho người dùng cách thức sử dụng đa ngơn ngữ lập trình để truy cập thơng tin, file, chương trình họ lúc nơi cấu hình phần cứng thiết bị Tâm điểm NET Framework CLR (Common Language Runtime) tập phân cấp thư viện hợp ASP.NET CLR quản lý thực thi đoạn mã NET cung cấp dịch vụ tạo trình phát triển chương trình ứng dụng dễ dàng Các trình biên dịch cơng cụ làm cho chức thư viện thực thi runtime trở nên phong phú hiệu Ngoài ra, dịch vụ Web NET Framework cho phép ta phát triển ứng dụng Internet hay Intranet lẫn tương lai ngơn ngữ lập trình truy cập đến hệ thống bất kỳ Ta tham khảo tất thành phần cấu thành NET Framework hình đây, mức trình biên dịch Visual Basic trình biên dịch ngơn ngữ khác Visual Studio NET Có thể sử dụng Visual Studio.NET kết hợp với môi trường phát triển (Intergrated Development Environment - IDE) để lập trình ASP.NET Visual Basic, C ++ , C # v.v NET Framework cịn kết hợp mơ hình lập trình đơn giản, dễ sử dụng với giao thức mở biến đổi Internet 38 1.1.2 Giới thiệu môi trường lập trình Ta sử dụng Microsoft Visual Studio 20xx IDE (Integrated Development Environment ) tạo ứng dụng web ASP.NET IDE bao gồm tools cho việc phát triển, gỡ rối triển khai ứng dụng Web Page Designing: Visual Studio 20xx IDE cung cấp thiết kế (Design Editor) theo hiệu ứng “What you see is What you get”, đơn giản để tạo web page layout Cung cấp khả keó thả thành phần vào Web Form sinh mã code HTML tương ứng a) Cấu hình ứng dụng với IIS: Internet Information Services (IIS) Web Server phát triển Microsoft để tạo host cho websites server đơn dùng để quảng bá quản trị website Internet Intranet Làm việc IIS với ứng dụng ASP.NET: Các ứng dụng ASP.NET lưu trữ thư mục ảo IIS Các bước truyền thông ASP.NET IIS sau: Browse gửi Request đến IIS 39 IIS nhận request, tìm kiếm file tương ứng gửi file đến ASP.NET Script Engine Script Engine thực Server - Side Script, sinh HTML page gửi cho IIS IIS nhận gửi cho Browse Cấu hình IIS - Mở IIS - Right click lên Default Web Site chọn: New\Vitual Directory làm theo dẫn - Chỉ định IIS Web Project: Chỉ định Location HTTP Xem hình minh họa sau dùng để cấu hình cho thư mục web có tên Sieuthi 40 b) Biên dịch trang Aspx: Các trang ASP.NET có *.apsx Khi người sử dụng lần triệu gọi trang ASPX, IIS triệu gọi trình biên dịch dịch trang ASPX (trang Code- behind) thành tập tin Class Tiếp theo, tập tin Class biên dịch thành tập tin DLL Cuối cùng, trang DLL thực thi trả kết cho người sử dụng Trong trường hợp người sử dụng triệu gọi lại trang ASPX, tập tin DLL gọi thực thi để trả kết cho người sử dụng Trang ASPX biên dịch lại tập tin DLL chúng tìm thấy cấu trúc thay đổi chúng khơng tìm thấy tập tin DLL tương ứng c) Tạo ứng dụng ban đầu: Khởi động Visual studio, File\ New Web site Ta thấy hộp thoại New Web Site hình sau: Trong hộp thoại New Web Site, chọn ASP.NET Web Site ngôn ngữ Visual Basic (hoặc C#, ) Click File System hộp Location, click Browse, sau định đường dẫn đến thư mục lưu trữ Click OK để hoàn thành thay đổi 41 Visual Studio nạp Visual Web Developer tạo Web page Mỗi Web page chứa hai phần: - Một Web Forms page, chứa HTML điều khiển để tạo giao diện người sử dụng - file code-behind, chứa module code, chứa program code Web Forms page Tương ứng với hai file mặc định là: file Default.aspx chứa giao diện người sử dụng file Default.aspx.vb chứa phần code cho Web page Ngoài web pages, web sites chứa modules (.vb files, cs files), HTML pages (.htm files), configuration information (Web.config file), global Web application information (Global.asax file),và thành phần khác Ta sử dụng Web Page Designer Solution Explorer để chuyển đổi thành phần nhanh chóng hữu hiệu Trong cửa sổ Web Page Designer, HTML source code cho Web page hiển thị tab Source Tab Design dùng để hiển thị Web page Web browser Khi tab Design chọn trang trắng xuất kết phần code khởi tạo Ta thiết kế thêm điều khiển điều chỉnh đối tượng trang Ta sử dụng trang *.aspx.vb *.aspx.cs để viết mã code cho trang d) Thêm web page: Để thêm trang vào web site ta thực bước sau: Click vào menu Website chọn Add New Item (Hoặc cửa sổ Solution Explorer, right click, chọn Add New Item) Xuất cửa sổ Add New Item hình sau: 42 Trong cửa sổ ta thực lựa chọn - Mục Templates: Chọn Web form - Mục Name: Đặt tên cho trang - Mục Language: Chọn ngơn ngữ lập trình - Chọn: Place code in separate file mặc định tách trang làm file mô tả Trong trường hợp khơng tách ta bỏ lựa chọn Khi bỏ lựa chọn HTML điều khiển để tạo giao diện người sử dụng với code nằm file 1.2 Mơ hình ADO.Net Khi làm việc với NET để phát triển ứng dụng web nỗ lực bạn để điều khiển liệu nhỏ Bởi vì, ASP.NET cung cấp đối tượng ActiveX Data Objects cho NET (ADO.NET), tập hợp công nghệ truy xuất liệu phấn NET Framework, giúp cho việc điều khiển làm việc với liệu trở lên dễ dàng ADO.NET thiết kế để cung cấp kiến trúc rời rạc (disconnected architecture) Có nghĩa ứng dụng connect tới database truy nạp liệu lưu trữ memory Sau disconnect với database sử dụng nhớ chép (memory copy) liệu Nếu database cần phải update với thay đổi memory copy, kết nối (connection) hình thành database update Bộ nhớ lưu trữ liệu DataSet, nơi mà chứa nhớ lưu trữ liệu khác, 43 là: Các đối tượng DataTable; ta lọc xếp liệu DataSet việc sử dụng đối tượng DataView, Chúng ta tìm hiểu ADO.net sâu phần sau Các đối tượng ASP.Net: Mục tiêu: Sử dụng tốt đối tượng ASP.Net hỗ trợ lập trình 2.1 ASP.Net Web Server Controls: 2.1.1 Giới thiệu điều khiển web a) Server Controls HTML Controls Server Controls: có nhiều khả HTML controls chức số cách giống Windows Forms controls Nhiều điều khiển server controls có tên điều khiển Windows Forms controls cấp nhiều thuộc tính, phương thức kiện giống nhau, thêm vào điều khiển FileUpload, LoginView, RequiredFieldValidator HTML Controls: tập hợp điều khiển giao diện người dùng trước mà hỗ trợ hầu hết trình duyệt web phù hợp với chuẩn HTML phát triển cho việc quản lý phần tử giao diện người dùng trang web điển hình Chúng bao gồm: Button, Text Field, Checkbox điều khiển sở hữu ích cho việc quản lý thơng tin trang Web mà trình bày hoàn toàn mã code HTML b) ASP.NET Web Server Controls Khi tạo trang ASP.NET Web pages, ta sử dụng kiểu controls: - Web server controls Controls có nhiều tính cài sẵn HTML server controls Web server controls không bao gồm điều khiển buttons and text boxes, mà điều khiển cho mục địch đặc biệt calendar, menus tree view control Web server controls có nhiều tính trừu tượng HTML server controls - HTML server controls Các phần tử HTML có thêm tính tương tác trình chủ (server) ta lập trình chúng HTML server controls trưng bày đối tượng mà ánh xạ gần tới phần tử HTML mà chúng hoàn trả - Validation controls Controls kết hợp logic cho phép ta kiểm sốt mà người dùng chèn vào điều khiển Input điều khiển TextBox Validation controls cho phép ta kiểm tra quy định trường, kiểm tra dựa vào giá trị đặc biệt, mẫu ký tự, kiểm tra xem giá trị có nằm phạm vi hay không, v.v… - User controls Controls mà tạo ASP.NET Web pages Ta nhúng ASP.NET user controls trang ASP.NET Web pages khác Đây cách đơn giản để tạo toolbars phần tử sử dụng lại khác - Và số nhóm điều khiển khác như: Data, Navigation, login,… 2.1.2 Web Server controls Các điều khiển Web Server cung cấp giao diện đồ họa (Graphical User Interface) Các điều khiển sử dụng để cung cấp giao diện chức cho web form Sau danh sách điều khiển Web server hay sử dụng: Tên Một số thuộc tính, phương Mơ tả điều khiển thức kiện 44 Hình 3.25.Cửa sổ Command and Paramater Editer c) Xóa ghi Các kỹ thuật thực xóa ghi tương tự Update ghi Tương tự điều khiển data source ta thực khai báo: Khai báo hai thuộc tính DeleteCommand DeleteCommandType DeleteCommand="DELETE FROM Products WHERE (ProductID = @ProductID)" Khai báo tham số Ví dụ 3.14 Thực xóa liệu từ điều khiển Grid View (vidu3_15.aspx) 97 d) Chèn ghi Để chèn ghi ta sử dụng kỹ thuật tương tự thông qua khai báo: Khai báo hai thuộc tính InsertCommand InsertCommandType InsertCommand="INSERT INTO Products(ProductID, ProductType, ProductName, ProductDescription, ProductSize, ProductImageURL, UnitPrice) VALUES (@ProductID, @ProductType, @ProductName, @ProductDescription, @ProductSize, @ProductImageURL, @UnitPrice)"> Khai báo tham số Ví dụ 3.15 Trong ví dụ dùng GridView để hiển thị thực thao tác Update, Delete; sử dụng DetailView để hiển thị chi tiết ghi chọn GridView đồng thời cho phép cập nhật liệu(vidu3_16.aspx) Kết cho hình 3.26 Hình 3.26 Duyệt ví dụ 3.15 Chú ý: - Để Upload file lên Server ta dùng điều khiển FileUpload - Để tạo Download file mở sử dụng thẻ Hyperlink , địa URL phải bao gồm server path file name bao gồm tên mở rộng Download Baigiang Web 99 Mở file ảnh e) Lọc liệu sử dụng Data Source controls Data source controls cung cấp số dịch vụ liệu để dễ dàng có thêm khả tiên tiến cho ứng dụng Nó bao gồm việc lọc liệu dựa điều kiện tìm kiếm mà ta định Việc lọc liệu thuận lợi làm việc với cached data, ta cung cấp khả tìm kiếm khơng cần phải chạy lại truy vấn gọi lại phương thức đọc liệu Để lọc liệu, data source control phải cấu sau: + Đối với điều khiển SqlDataSource AccessDataSource, thuộc tính DataSourceMode phải thiết lập tới DataSet + Đối với điều khiển ObjectDataSource, đối tượng source object phải trả DataSet DataTable Thiết lập biểu thức lọc (Filter Expression): Ta định lọc áp dụng cho liệu trả điều khiển ObjectDataSource, SqlDataSource, AccessDataSource việc thiết lập thuộc tính FilterExpression data source Biểu thức lọc áp dụng phương thức select data source control gọi Cú pháp biểu thức lọc phụ thuộc vào cú pháp thuộc tính Expression lớp DataColumn FilterExpression="Country LIKE '{0}' AND LastName LIKE '{1}'" Chú ý: Cả hai ký tự % * sử dụng làm ký tự thay toán tử so sánh LIKE Ký tự thay cho phép vị trí bắt đầu kết thúc mẫu Ví dụ: "ItemNa L '*product*'" me IKE "ItemNa L '*product'" me IKE "ItemNa L 'product*'" me IKE Ký tự thay không phép nằm chuỗi mẫu Ví dụ, 'te*xt'khơng phép Cung cấp tham số lọc (Filter Parameters): Ta cung cấp tham số biểu thức lọc cho điều khiển ObjectDataSource, SqlDataSource, AccessDataSource Các tham số cho phép ta cung cấp giá trị lọc thời điểm chạy không cần viết code để thiết lập thuộc tính FilterExpression Ta định tham số biểu thức lọc sử dụng collection FilterParameters điều khiển data source Các tham số truy xuất liệu từ điều khiển, đối tượng QueryString, session state, user profile,.v.v… Trong biểu thức lọc (Filter Expression), ta tạo placeholders tương ứng tới items collection FilterParameters điều khiển data source Các Placeholders số hóa, với thể tham số collection Ta 100 định placeholder biểu thức lọc cách thay số tham số lọc ký tự '{' '}' ví dụ sau: Country = '{0}' AND LastName LIKE '{1}' 101 Bài tập thực hành học sinh, sinh viên: Bài tập 3.1: Câu 1: Trình bày khác ASP.NET Server Control phần từ HTML Câu 2: Validation control gì? Trình bày mục đích sử dụng validation control thiết kế web động Câu 3: Giải thích ý nghĩa thuật ngữ dùng validation controls sau: RequiredFieldValidator, CompareValidator, RangeValidator, RegularExpressionValidator, ValidationSummary Câu 4: Tạo Web Form đăng ký thông tin tuyển dụng Mục tiêu: Giúp sinh viên biết cách vận dụng ASP.NET Server Control Web HTML Server Control xây dựng trang web Hướng dẫn: - Sinh viên viết ngơn ngữ C# VB.NET - Trong phần tập sinh viên tạo ASP.NET Web Form có tên JobRegister.aspx Form chứa server control dạng Web Control HTML Server control Form cho phép user nhập thông tin cá nhân kỹ chuyên môn - Giao diện Form minh họa hình bên dưới: - Sau hồn tất việc đăng ký thơng tin hiển thị đầy đủ trangASP.NET khác RegisteringComplete.aspx 102 Câu 5: Sử dụng Validation Control để thiết kế trang web: - Kiểm tra thông tin đầu vào cho trang đăng nhập - Thanh toán hoá đơn, form điền thông tin sử dụng kiểm tra thông tin người dùng nhập liệu Mục tiêu: Giúp sinh viên áp dụng điều khiển RequiredFieldValidator, CompareValidator, RangeValidator, RegularExpressionValidator, ValidationSummary… để tạo ràng buộc liệu cho trang web Hướng dẫn: Tạo ứng dụng web ASP.NET Thêm trang vào dự án Đặt tên Dangnhap.aspx Thiết kế form đăng nhập (theo gợi ý mẫu đây: người dung kích chuột vào button Login chuyển sang trang Thanhtoanhoadon.aspx, kích chuột vào button Reset xố trắng liệu ô textbox 103 Bấm chuột phải lên dự án thêm WebForm đặt tên Thanhtoanhoadon.aspx Thiết kế form với ràng buột liệu cho trường textbox với giao diện minh hoạ hình đây: Khi người dùng kích chuột vào button Submit chuyển sang trang Camon.aspx sau: Bài tập 3.2 Câu 1: Trình bày chức đối tượng Application ASP.NET? 104 Câu 2: Đối tượng Session gì? Trình bày chức đối tượng Session ứng dụng web? Câu 3: Đối tượng Request gì? Trình bày chức đối tượng Request ứng dụng web? Câu 4: Sử dụng đối tượng Response & Request Asp.Net để thực trang web cho phép nhập hai số a,b Sau tính cộng, trừ nhân chia hai số cho Hướng dẫn: - Bước 1: Thiết kế giao diện trang nhập liệu - Bước 2: Viết mã lệnh + Lấy giá trị số a & b sử dụng phương thức Request.Form["Tên Điều Khiển"] + Tính tổng, hiệu, tích, thương a&b + Hiển thị kết Câu 5: Sử dụng đối tượng Application để tính số lần truy cập vào trang web Câu 6: Cho đoạn chương trình sau, thực thi kết giải thích ý nghĩa chương trình Private Sub Page_Load(sender As Object, e As System.EventArgs) Session.Timeout = 50 Session.Contents("Counter") = _ Session.Contents("Counter") + 10 Response.Write("Khoi tao Session ASPX ") Response.Write("Counter: " & _ Session.Contents("Counter")) Session.Contents.Remove("Countner") Session.Remove("Countner") Session.RemoveAll() End sub Untitled Page Bài tập 3.3 Câu 1: Trình bày cú pháp cấu trúc rẽ nhánh If…then, Select Case Asp.Net? Câu 2: Trình bày cú pháp lặp Do…Loop Asp.Net? Câu 3: Trình bày cú pháp cấu trúc lặp For Each …Next For …Next? Câu 4: Viết chương trình cho phép người dùng nhập vào tháng bất kỳ, in tháng thuộc mùa năm Hướng dẫn: Sử dụng cấu trúc Select Case Câu 5: Giải thích ý nghĩa đoạn chương trình sau: 105 Private Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Dim MyCookie As New HttpCookie("LastVisit") Dim MyCookie1 As New HttpCookie("New") Dim now As DateTime = DateTime.Now ' Ghi giá trị xuống Cookies Response.Cookies.Clear() MyCookie.Value = now.ToString() MyCookie.Expires = now.AddHours(1) Response.Cookies.Add(MyCookie) MyCookie1.Value = now.ToString() MyCookie1.Expires =now.AddHours(1) Response.Cookies.Add(MyCookie1) Response.Write("Number cookie:" & Request.Cookies.Count & "") ' Đọc cookie For Each strKey As String In Request.Cookies Response.Write(strKey & " = " & _ Request.Cookies(strKey).Value & "") Next End Sub Bài tập 3.4 Câu 1: Trình bày thủ tục cách khai báo thủ tục Asp.Net? Câu 2: Trình bày hàm cách khai báo hàm Asp.Net? Câu 3: Phân biệt tham biến tham trị Asp.Net? Câu 4: Viết thủ tục tính tổng hai số a,b Xây dựng trang web sử dụng thủ tục vừa tạo Hướng dẫn: Bước 1: Viết thủ tục tính tổng hai số, khai báo sau Sub Tong(ByVal a As Integer, ByVal b As Integer) Bước 2: Xây dựng trang web có sử dụng thủ tục vừa tạo Giao diện Mã nguồn tham khảo: Untitled Page 106 Giá trị a: Giá trị b: Câu 5: Xây dựng lại chương trình thay thủ tục hàm Câu 6: Giải thích ý nghĩa hai tham số a,b chương trình sau, cho biết kết trả chương trình Partial Class vidu2_20 Inherits System.Web.UI.Page 'Khai báo a tham trị b tham biến Function Tong(ByVal a As Integer, ByRef b As Integer) As Integer a += 100 b -= 10 Return (a + b) End Function Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim a, b As Integer a = 100 b = 100 Response.Write("Gia trị trước truyền vào cho hàm ") Response.Write("a=" & a.ToString & "") Response.Write("b=" & b.ToString & "") Response.Write("Gọi hàm tong(a,b):" & Tong(a, b).ToString & "") Response.Write("Gia trị sau truyền vào cho hàm ") Response.Write("a=" & a.ToString & "") Response.Write("b=" & b.ToString & "") End Sub End Class 107 Bài tập 3.5 Câu Thực hành lại ví dụ chương để ơn lại nội dung vừa học Câu Thiết kế giao diện trang EditorData.aspx sau: Giao diện thiết kế Giao diện thực thi Gợi ý: - Thiết kế giao diện theo mẫu - Cấu hình SqlDataSource với database mặc định Northwind (hoặc sử dụng database người dùng) - Khi người dùng chọn ProductName DropdownList, nội dung DetailView cập nhật Câu 3: Xây dựng ứng dụng web gồm trang asp.net sau: Dangnhap.aspx, DanhsachLoaimathang.aspx, Capnhatloaimathang.aspx Các trang web có cấu trúc sau: - Giao diện thiết kế: Giao diện trang Dangnhap.aspx 108 Giao diện trang CapnhatLoaimathang.aspx - Cấu hình phần ……… tập tin web.config sau:Trong đó: + loginUrl: rõ trang người dùng đăng nhập + defaultUrl: rõ trang chuyển đến đăng nhập thành công + name: rõ tên Cookie tạo + Timeout: thời gian cookie tồn (tính phút) + passwordFormat: khơng mã hóa mật Trong ví dụ ta khai báo người dung “tom” “jerry” Lưu ý: lưu user vào sở liệu để kiểm tra đăng nhập - Viết kiện xử lý cho trang + Khi người dùng truy cập vào trang CapnhatLoaimathang.aspx mà chưa đăng nhập tự động chuyển qua trang Dangnhap.aspx 109 + Nhập vào tên đăng nhập “tom”, mật “tom”, nhấn nút Đăng nhập để vào trang CapnhatLoiamathang.aspx Nếu người dung chọn Nhớ thơng tin sau 30 phút sau khơng cần đăng nhập truy cập + Sau người dùng cập nhật xong thông tin, chọn Đăng xuất để trang Dangnhap.aspx, thông tin session hay cookie hủy để kết thúc phiên làm việc 110 TÀI LIỆU THAM KHẢO [1] Jason Butler and Tony, “ASP - Database”, Nhà xuất Trẻ, 2001 [2] Kỹ sư Phạm Quang Huy, “Giáo trình thiết kế Web làm hoạt hình”, NXB Giao thơng vận tải, 2003 [3] Hồng Hải , “Giáo trình tự học thiết kế Web động”, NXB Lao động Xã Hội, 2007 111 ... System.Configuration System.Text System .Web System .Web. Security System .Web. UI System .Web. UI.WebControls System .Web. SessionState System .Web. UI.HtmlControls c) Điều khiển kiện Web pages: Mỗi Web page có vòng đời,... khiển Webpages: Init -> Load -> PreRender->UnLoad 37 - Init: Là kiện vòng đời trang web T hường dùng khởi tạo tất điều khiển trang web Init dùng biến cần khai báo khởi tạo trước xử lý Web page - Load:... Visual Web Developer tạo Web page Mỗi Web page chứa hai phần: - Một Web Forms page, chứa HTML điều khiển để tạo giao diện người sử dụng - file code-behind, chứa module code, chứa program code Web