Học lập trình Asp.Net MVC 5.0 - View trong Asp.Net MVC - Visual Studio 2015 - Phần 3 - Bài số 3

Học lập trình Asp.Net MVC 5.0 - View trong Asp.Net MVC - Visual Studio 2015 - Phần 3 - Bài số 3
access_time 12/15/2015 7:51:45 PM
person Nguyễn Mạnh Hùng
1. TempData
Một đối tượng khác được sử dụng để truyền dữ liệu từ Controller sang View đó là TempData. TempData trong Asp.Net MVC dùng để lưu trữ dữ liệu tạm thời, các dữ liệu này có thể được sử dụng trong các request tiếp theo. TempData là đối tượng có kiểu từ điển, nó thừa kế từ lớp TempDataDictionary, giống như ViewData, dữ liệu của TempData được lưu trữ bởi cặp giá trị <key, value>.
Khác với ViewDataViewBag, TempData cho phép truyền dữ liệu từ Request hiện tại sang Request tiếp theo.
TempData hữu dụng khi lập trình viên muốn truyền dữ liệu không nhạy cảm từ một phương thức Action này sang một phương thức Action khác trên cùng một Controller hoặc trên các Controller khác nhau.
Cú pháp
TempData[<Key>] = <Value>;
Mô tả
  • <Key>: Lưu trữ khóa, có kiểu String, được sử dụng để định danh đối tượng trong TempData.
  • <Value>: Giá trị của đối tượng TempData.
Ví dụ
Tạo HomeController, bao gồm 2 phương thức Action : Index và About, tại phương thức Index lưu sử dụng TempData để lưu thông tin 2 giá trị tương ứng với thông tin địa chỉ và tên khách hàng. Phương thức About sử dụng lại giá trị của TempData và hiển thị thông tin trên View tương ứng.
  • Bước 1 : Khởi tạo HomeController và 2 phương thức Index và About. Tại phương thức Index khởi tạo giá trị của TempData như hình dưới đây.
Hình số 1 : Khởi tại giá trị TempData
  • Bước 2 : Truy vấn giá trị của TempData tại view About.
Hình số 2 : Truy vấn  giá trị TempData
  • Bước 3 : Chạy chương trình và xem kết quả hiển thị.
Hình số 3 : Kết quả chạy chương trình với TempData
Chú ý : Dữ liệu TempData sẽ xóa sạch khi hoàn thành quá trình thực hiện của Request tiếp theo (Request thứ 2). Hình vẽ dưới đây mô tả chi tiết vấn đề này.
Hình số 4 : Dữ liệu TempData với Request tiếp theo.
Để duy trì dữ liệu TempData tại Request tiếp theo thứ 3. Lập trình viên sử dụng phương thức TempData.Keep() để lưu giữ giá trị  
2. Partial View
2.1 Tổng quát Partial View
Khi xây dựng ứng dụng Asp.Net MVC, thông thường một trang thông tin sẽ được chia thành các phần nhỏ khác nhau. Trang thông tin chính này sẽ được gọi là một main view, các phần thông tin nhỏ của trang có thể được chia thành các View con độc lập, các View con độc lập sẽ được gọi là sub-view. Một partial view trình bày một sub-view trong main view.
Kỹ thuật xử lý partial view cho phép lập trình viên tái sử dụng lại sub-view tại các View khác nhau trong ứng dụng. Vậy Partial View chính là các View có thể tái sử dụng lại. Lập trình viên có thể sử dụng parial view tại layout view hoặc tại các nội dung View khác.
Để bắt đầu với partial view, chúng ta sẽ tạo ra một partial view đơn giản, nó đóng vai trò như một thanh điều hướng (bar navigation). Sau đó tái sử dụng partial view trong Layout View của ứng dụng.
2.2 Tạo mới và sử dụng Partial View
Để tạo mới partial view, thực hiện các bước như sau :
  • Bước 1 : Click phải chuột vào thư mục Shared, sau đó chọn Add, -> chọn View.
Hình số 5 : Tạo partial view
Mục tiêu của partial view (_HeaderNavBar) là tại một sub-view đóng vai trò là thanh điều hướng tại mọi view của ứng dụng, do vậy chúng ta cần bổ sung thông tin vào Sub-View này.
  • Bước 2 : Bổ sung nội dung thông tin vào _HeaderNavBar như sau :
Hình số 6 : Cập nhật thông tin vào _HeaderNavBar
  • Bước 3 : Hiển thị nội dung Partial view tại trang _Layout thông qua phương thức RenderPartial hoặc Partial của Html Help.
Hình số 7 : Render nội dung Partial View
Kết quả chạy chương trình như sau :
Hình số 8 : Render nội dung Partial View
Chú ý
Một partial view bản chất nó chính là một View do vậy nó hoàn toàn có thể liên quan tới phương thức Action của Controller. Khi đó giá trị trả về của  phương thức Action sẽ có kiểu PartialViewResult.
vertical_align_top
share
Chat...