04 datasharing

Page 1

ThS. Nguyễn Nghiệm 0913.745.789 nghiemn@fpt.edu.vn songlong2k@gmail.com


 Giới thiệu Model  Truyền dữ liệu cho View

ViewBag, ViewData Model: Single, IEnumerable<T>  Session  Application  Cookie  Global.asax  View

Cú pháp Razor


Response

và chứa dữ liệu để View sinh giao diện động.  Model có thể là 1 đối tượng hoặc danh sách các đối tượng (IEnumerable<T>)  Cùng với ViewBag và ViewData, Model chứa dữ liệu dữ liệu có định kiểu được chia sẻ với View

Request

 Model được tạo bởi Controller


Sử dụng ViewBag hoặc ViewData dể truyền dữ liệu từ Controller đến View  Trong Controller: tạo dữ liệu 

ViewBag.<Property>=<Data> ViewData[<Key>]=<Data> return View(Model) 

Trong View: sử dụng dữ liệu @ViewBag.<Property> @ViewData[<Key>] @Model.Property

Request

Controller

ViewBag, ViewData, Model

View


 ViewBag và ViewData đã được sử dụng để

truyền dữ liệu từ Controller sang View. View sẽ sử dụng để xây dựng giao diện phù hợp trả cho người dùng.  Ưu điểm: Đơn giản, dễ dùng  Nhược điểm:

Không định kiểu -> không tận dụng intelligence của IDE -> tiềm ẩn lỗi  Khắc phục

Sử dụng Model



List<Mail>


ThS. Nguyễn Nghiệm 0913.745.789 nghiemn@fpt.edu.vn songlong2k@gmail.com


 Session: Chia sẻ trên mỗi phiên  Application: Chia sẻ trên toàn ứng dụng  Cookie: Chia sẻ trên từng máy khách  Global.asax


 Session là phạm vi chia sẻ dữ liệu trên mỗi phiên

làm việc. (Nghĩa là dữ liệu được lưu vào session bởi phiên làm việc nào thì chỉ được truy xuất bởi phiên làm việc đó.) 

Ứng dụng: Cache dữ liệu theo phiên Duy trì thông tin giỏ hàng Duy trì thông tin tài khoản đăng nhập

 Lấy Session

Trong Controller: Session Trong View: @Session Trong lớp bất kỳ: HttpContext.Current.Session


 Session.Add (name, value)

Thêm biến vào session  Session[name] = <value>

Thêm mới hoặc thay thế giá trị của biến trong session  Session.Remove (name)

Xóa biến khỏi session  Session. Clear()

Xóa sạch các biến trong session  Session. Abandon()

Hủy session hiện tại để khởi đầu một session khác  Session. SessionID

Định danh duy nhất của một session


 Application là phạm vi chia sẻ dữ liệu trên toàn

ứng dụng. (Nghĩa là dữ liệu được lưu vào application bởi một user này sẽ được truy xuất bởi một user khác.)

 Ứng dụng: Cache dữ liệu cho toàn ứng dụng

Bộ đếm số người truy cập Queue mails Queue chat messages  Lấy Application

Trong Controller: HttpContext.Application Trong View: @HttpContext.Current.Application Trong lớp bất kỳ: HttpContext.Current.Application


 Application. Add (name, value)

Thêm biến vào application  Application[name]

= <value>

Thêm vào hoặc thay thế giá trị của biến application  Application. Remove (name)

Xóa biến khỏi application  Application. Clear ()

Xóa sạch các biết trong application  Application. Lock ()

Khóa application để cập nhật (tránh xung đột)  Application. UnLock ()

Mở khóa sau khi đã cập nhật


 Cookie là mẫu tin nhỏ ( < 4KB) được lưu trên máy

client và truyền thông với server trong các request và response.  Ứng dụng: chia sẻ dữ liệu giữa các trang trong website được truy cập từ máy Tài khoản đăng nhập Hàng hóa đã xem


 Lấy cookie từ client

Trong controler: Request.Cookies[name] Trong View: @Request.Cookies[name]  Gửi cookie về client

Response.Cookies.Add(cookie)  Tạo cookie

HttpCookie cookie = new HttpCookie(name, value) Tạo cookie với tên và giá trị

HttpCookie cookie = new HttpCookie(name) Tạo cookie với tên


 cookie.Expires

Thời hạn của cookie.  cookie.Name

Tên của cookie  cookie.Value

Giá trị đơn của cookie  cookie.Values

Các giá trị của một cookie  cookie.Values.Add(Key, Value)

Thêm một giá trị vào cookie  cookie.Values[Key] = <Value>

Thêm hoặc thay thế 1 giá trị của cookie


Tập tin Global.asax chứa các điều khiển sự kiện quản lý vòng đời của application, session và request


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.