Form đề thi có 3 câu, 2 câu lý thuyết + lấy ví dụ (7đ) và 1 câu bài tập (3đ) viết các sự kiện như dạng bài trong tài liệu. Ở đây mình tổng hợp các phần lý thuyết trong chương trình dạy và lấy ví dụ 1 bài tập lớn. Chỉ cần để ý trên lớp là sẽ hiểu bài tập thôi. ................................................................................................................................................................................................................................................................................
Lý thuyết Quá trình xử lý trang ASP.NET - Mơ hình: Xử lý Server: Khi máy khách u cầu trang máy chủ đọc tồn nội dung trang xử lý Server (trước gửi cho client) để kết quả, lấy kết xử lý gửi cho phía máy khách - Các trang (file) có mở rộng mà server xử lý, ví dụ: asp, php, jsp, aspx… - Cơ chế cử lý file ASP.NET phía máy chủ: Bước 0: Người lập trình phải tạo trang ASPX (giả sử tên trang abc.aspx) đặt vào thư mục web web server (có tên www.server.com) Trên địa trình duyệt, người dùng nhập trang www.server.com/abc.aspx • Bước 2: Trình duyệt gửi yêu cầu tới server với nội dung: “Làm ơn gửi cho tơi trang abc.aspx!” • Bước 3: web server biên dịch code trang aspx (bao gồm mã code vb.net/ c# - gọi code behind hay code file) thành class • Bước 4: Lớp sau biên dịch server thực thi • Bước 5: Server trả kết thực thi cho trình duyệt (trang HTML) Ở lần thứ u cầu lại trang aspx khơng cần Compile => nhanh Chỉ cần biên dịch lại nội dung file nguồn aspx có thay đổi Xử lý bên server: • Thơng qua runat = “Server” : • Thơng qua cặp thẻ: • Thơng qua Scrip: • Bằng cách đặt file Code • - Ưu nhược điểm ASP.NET - Ưu: • ASP.NET ngơn ngữ lập trình có thư việc phải nói đa dạng phong phú, hỗ trợ tốt XML khả truy cập sở liệu qua ADO.net • Ưu điểm trội ngơn ngữ lập trình có khả hoạt động tốt nhiều ứng dụng để đảm bảo hiệu suất tốt nhất, cao cho website Khi sử dụng ASP.NET, tách bạch phần code giao diện thành phần riêng biệt hoàn toàn để tạo nét thú vị cho web Ngồi nhờ mà việc quản lý bảo trì web trình vận hành, sử dụng trở nên dễ dàng thuận tiện nhiều • Các website lập trình ASP.NET thường hoạt động ổn định hơn, mượt mà hơn, có tốc độ tải trang tốt • • • • - Nhược điểm: • không hỗ trợ cho thiết bị sử dụng hệ điều hành Linux • khơng hỗ trợ Visual studio q trình viết code • ASP.NET có phí sử dụng cao, không phù hợp sử dụng cho doanh nghiệp nhỏ hay cá nhân Ưu nhược điểm ASP.NET WebForm: - Ưu: • Web forms thiết kế lập trình thơng qua cơng cụ phát triển ứng dụng nhanh (RAD) • Web form hỗ trợ tập điều khiển (controls) mở rộng Bất kỳ ngơn ngữ NET dùng để lập trình với web forms • • - Khả tùy biến ASP.NET cao, giúp website dễ dàng tương thích với kích thước hình, thiết bị truy cập khác Độ bảo mật ASP.Net cao ASP.NET có độ truy xuất liệu cực nhanh, hỗ trợ lưu trữ dung lượng lớn Hỗ trợ SEO tốt Asp sử dụng trình thực thi ngôn ngữ chung (CLR) NET framework thừa hưởng ưu NET Framework Ví dụ: Khả thừa kế Nhược: • Khơng có kiến trúc project cố định xác định trước để tạo ứng dụng web cho khách hàng Lập trình viên cần phải vận dụng cách linh hoạt, để tạo nên ứng dụng, điều đòi hỏi khả sáng tạo cao bình thường • Khơng thể tự động thực kiểm tra Unit Testing, kết thúc Code Behind Web Foms xử lý nhiều kiện • Web Forms có khả kiểm sốt html • Web Forms khơng thật thân thiện với việc seo website • Ngồi Web Forms có khả hỗ trợ cho phát triển song song ASPX tập tin code behind Các điều khiển quan trọng ASP.NET - Điều khiển liên kết liệu: • GridView • DropDownList • CheckBoxList • RadioButtonList Button • LinkButton Điều khiển kiểm tra hợp liệu • Validation • - Các đối tượng: Request - Để đọc liệu từ trang - Có phương thức: • Request.Form.Get/GetValues(“tên nội dung cần đọc”); Đọc liệu gửi tới phương thức “Post” (Method=”Post”) • Request.QueryString.Get/GetValues(“tên nội dung cần đọc”); Đọc liệu gửi tới phương thức “Get” (Method= “Get”) Response - Để gửi nội dung cho trang - Có phương thức: • Response.write(); Để gửi biểu thức cho trình duyệt VD: Response.write(Server.MachineName); để in tên server • Response.Redirect(“địa Url”); Chuyển tới trang khác VD: Response.Redirect(“WebForm2.aspx”); • Flush Đưa dl đêm phía server cho trình duyệt Session - Là đối tượng dùng để quản lý (tạo, đọc, ghi) biến session (giống trang mà account cụ thể truy cập lần đăng nhập) số thông số khác - Cú pháp tạo biến session: Session.Add("Tên_Biến","Giá trị khởi tạo"); Lưu ý: Tên biến phải đặt cặp dấu nháy kép xâu ký tự số Ví dụ : Tạo biến tên MaNguoiDung gán giá trị TK34 Session.Add(“MaNguoiDung”,“TK34”); + Cú pháp để đọc giá trị biến session sau: Session.Contents[“Tên_Biến”] dùng số: Session.Contents[i]; + Cú pháp để ghi (thay đổi) giá trị biến session: Session.Contents[“Tên_Biến”] = - Riêng với đối tượng Session, có kiện Các kiện tự động gọi phiên làm việc tạo Các kiện có tên On_Start On_End Các kiện đặt file Global.asax (Dùng để đếm số người online) Application - Là đối tượng dùng để quản lý (tạo, đọc, ghi) biến có phạm vi tồn ứng dụng Có tác dụng đến người dùng (Mọi trang aspx.cs truy cập đến biến dù thời điểm nào) - Cú pháp tạp biến: Application.Add(“Tên_Biến”, ); - Ví dụ: Tạo biến So_Nguoi_Truy_Cap Application.Add(“So_Nguoi_Truy_Cap”, 0); + Truy xuất đến biến Application: Application.Contents[“Tên_Biến”] số: Application.Contents[i] + Ví dụ: Đọc ghi biến Application Application.Contents[“So_Nguoi_Truy_Cap”] = Application.Contents[“So_Nguoi_Truy_Cap”] + 1; Response.write(“Bạn vị khách thứ: “ & Application.Contents[“So_Nguoi_Truy_Cap”]); - - Ngoài ra, đối tượng Application có phương thức thường dùng Application.Lock(): Để khóa khơng cho người khác sửa đổi biến tồn cục Application.UnLock() để mở khóa Đối tượng Application có kiện Application_OnStart Application_OnEND Sự kiện OnStart kích hoạt lần yêu cầu phát sinh Sự kiện OnEND kích hoạt dịch vụ web dừng (unload) Đối tượng Application có phương thức Lock Unlock Khi gọi phương thức Lock (khóa) tất ứng dụng khơng phép thay đổi giá trị Application Để ứng dụng khác phép thay đổi biến Application gọi phương thức Unlock Mã lệnh viết cho kiện đặt file Global.asa Server Tệp tin Global.asax - Là tập tin quản lý cấu hình ứng dụng ASP.NET - Dùng để: • Khai báo khởi tạo giá trị cho biến Application, Session Viết xử lý cho kiện đối tượng Application Session Cấu trúc tập tin: • - void Application_Start(object sender, EventArgs e) { // Code that runs on application startup } void Application_End(object sender, EventArgs e) { // Code that runs on application shutdown } void Application_Error(object sender, EventArgs e) { // Code that runs when an unhandled error occurs } void Session_Start(object sender, EventArgs e) { // Code that runs when a new session is started } void Session_End(object sender, EventArgs e) { // Code that runs when a session ends // Note: The Session_End event is raised only when the sessionstate mode // is set to InProc in the Web.config file If session mode is set toStateServer // or SQLServer, the event is not raised } > - Các kiện tập tin Global.asax • Application_Start: Chỉ xảy lần trang ứng dụng gọi Ứng dụng xây dựng tính đếm số người online, truy cập website void Application_Start(object sender, EventArgs e) { // Khai báo đếm số người truy cập Application["So_luot_truy_cap"] = Application["So_nguoi_online"] = } • Session_Start: Xảy có người dùng yêu cầu đến trang aspx ứng dụng Khi Session_Start xảy ra, giá trị (SessionID) tạo cho người dùng, giá trị sử dụng để quản lý người dùng trình làm việc với ứng dụng • Application_BeginRequest: Xảy có Postback Server Sub Application_Error: Xảy có lỗi phát sinh q trình thi hành • Session_End: Xảy phiên làm việc khơng có gởi yêu cầu làm tươi trang aspx ứng dụng web khoảng thời gian (mặc định 20 phút) • Qua tập tin Global.asax bạn xây dựng ứng dụng đếm số người truy cập người online website Ở người online dựa vào Session_Start Session_End mà giảm tăng xuất biến Application ngồi trang chủ số lược truy cập cộng dồn vào bạn phải ghi vào file text hay vào CSDL số lượng để biến tăng dần lên theo ngày tháng - Cài đặt cấu hình IIS, cách kiểm tra thành công IIS (Internet Information Services) dịch vụ WebServer Windows Mặc định hệ thống ẩn Cách kích hoạt: • Truy cập vào Programs and Features theo đường dẫn: Control Panel\Programs\Programs and Features • Trong cửa sổ Programs and Features Click Turn Windows features on or off • Mở rộng Internet Information Service Trong có phần, bạn cần quan tâm Web Management Tools & World Wide Web Services Mở rộng nhánh tick chọn vào checkbox Nhấn OK chờ vài phút để hệ thống cập nhật lại Khởi động lại máy tính bạn cần Cách kiểm tra cài đặt thành cơng: • Mở trình duyệt lên gõ: http://localhost http://127.0.0.1 • Màn hình chuyển thành trang IIS thành công Cách đếm số lượt truy cập Website, lượt online: • - Tạo trang đếm số lượng người truy cập Tạo trang Index.aspx.cs Global.asax với nội dung sau: Trang Index.aspx Home Page - Hit counter Chào mừng bạn đến website chúng tôi Trang Index.aspx.cs using System; public partial class Index : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { lblSLKhach.Text="Bạn vị khách thứ: " + Application.Contents["SLTruyCap"].ToString(); } } Trang Global.asax void Application_Start(object sender, EventArgs e) { Application.Lock (); System.IO.StreamReader sr; sr = new System.IO.StreamReader (Server.MapPath ("SL.txt")); string S = sr.ReadLine (); sr.Close (); Application.UnLock (); //Tạo biến Applciation SLTruyCap khởi tạo giá trị S Application.Add ("SLTruyCap", S); } void Application_End(object sender, EventArgs e) { // Code that runs on application shutdown } void Application_Error(object sender, EventArgs e) { // Code that runs when an unhandled error occurs } void Session_Start(object sender, EventArgs e) { //Tăng số lượng người truy cập lên có người thăm Application.Contents ["SLTruyCap"] = int.Parse (Application.Contents ["SLTruyCap"].ToString ()) + 1; //Lưu vào file SL.txt (mở ghi đè) System.IO.StreamWriter sw; sw = new System.IO.StreamWriter (Server.MapPath ("SL.txt")); sw.Write (Application.Contents ["SLTruyCap"].ToString ()); sw.Close (); } void Session_End(object sender, EventArgs e) { } Sau tạo, chạy file Index.aspx để kiểm chứng thấy số lượng người truy cập ln tăng lên server có tắt hay máy tính bị trục trặc Đếm số người online: Application(“SoNguoiOnline”) = Application(“SoNguoiOnline”) -1; Application.Lock(); Application(“SoNguoiOnline”) = Application(“SoNguoiOnline”) + 1; Application.UnLock(); Để thị số người online đơn giản ta dùng đoạn code sau: Số người xem website: Master Page, Code behind Master Page: - Master Page ASP.Net cho phép bạn design lần sử dụng lại cho tất trang web site bạn có thừa kế Master Page - Khi sử dụng Master Page bạn lợi nhiều, công chỉnh sửa trang có thay đổi head, footer … mà cần sửa master page có tác dụng với trang có kế thừa Code behind: - Các file chứa mã code (VB.NET C#) gọi Code file (cách gọi mới) hay Code behind (cách gọi cũ) - Mã lệnh thường xử lý tác vụ liên quan đến nghiệp vụ, có câu lệnh cho phép gửi kết cho phía trình duyệt Cụ thể phương thức write đối tượng Response Ví dụ muốn trả xâu S cho trình duyệt hiển thị, ta viết: Response.write(S) - Việc sử dụng phương thức write để “sinh ra” phần tử cho trình duyệt hiểu kỹ quan trọng - Nhìn chung, người ta thường chia web form thành phần trang chứa giao diện (aspx) trang chứa mã code (.vb; cs) để đảm bảo tính chun mơn hóa dễ bảo trì 10 Các điều kiện cần thiết để dựng trang Web chạy online - Tên miền (Domain name): địa trang web để người truy cập Là yếu tố quan trọng việc xây dựng website gắn với tên cơng ty mang thương hiệu doanh nghiệp Mỗi tên miền áp dụng cho chủ sở hữu - Website: Là liệu, nội dung website bao gồm hình ảnh, viết mã lệnh gọi nguồn – Source code Các bước xây dựng website: • Xác định đối tượng cần xây dựng Website (Công ty, doanh nghiệp hay cá nhân nào?) • Mục đích việc xây dựng Website (Quảng cáo, bán hàng, tuyển dung,…?) • Đối tượng truy cập vào Website (nam, nữ, độ tuổi, nghề nghiệp ?) • Tạo sơ đồ cho trang Web (Trang chủ, trang ?) • Chuẩn bị nội dung cho website • Chuẩn bị hình ảnh, đồ họa cần thiết • Thời gian thực Lựa chọn nhà cung cấp tên miền Hosting - Hosting: Nơi lưu trữ mã nguồn liệu cho website internet u cầu: • Tính ổn định cao • Phù hợp với ngơn ngữ lập trình mã nguồn • Tính tích hợp, dễ dàng chuyển đổi nâng cấp gói dich vụ • Dễ sử dụng, bảo mật cao • Hỗ trợ sử dụng cung cấp 24/7 11 Các thẻ html thơng dụng: • - : Thẻ mở đầu trang HTML - none - : Thẻ chứa thẻ phần đầu trang HTML - none - : Tiêu đề trang web - none - : Mô tả tổng quát nội dung trang web - none - : Dùng để nhúng tập tin vào trang web - none - : Dùng để nhúng tập tin javascript - none - : Dùng để bao bọc nội dung css - none - : Thẻ chứa nội dung website - block level - : Thẻ để tiêu đề vấn đề - block level - : Thẻ thường dùng để chứa nội dung - block level - : Thẻ chứa nội dung - inline -: Thẻ chứa nội dung (đoạn văn) - block level - : Thẻ canh đối tượng nằm bên - block level - : Thẻ tạo link - inline -