BÀI 3 : MƠ HÌNH MVC CHO TRIỂN KHAI ỨNG DỤNG WEB
5. Làm việc với Controller
5.1. Khái niệmController
Controllers đảm nhận việc xử lý logic ở phía ứng dụng bao gồm việc
nhận giá trị đầu vào của ứng dụng, phát sinh các lệnh thực thi, nhận dữ liệu từ miền model, và đưa người dùng đi đến những UIs khác nhau.
Hình 3.11: HomeController được tạo ra bởi Visual
Từ hình 3.1 ta rút ra nhận xét rằng: khi user request vào trang index.aspx
thì controller sẽ xử lý yêu cầu của user bởi action “Index()”, khi user request muốn xem thơng tin
Hình 3.12: Controller đáp ứng request từ user
5.2. Controller Actions
- Sau khi controller xác định và gọi action nào thì action đó có nhiệm vụ
trả kết quả về cho trình duyệt. Một controller có thể trả về một view, một file, hoặc đưa chúng ta
đến một action khác
* Controller action luôn trả về một ActionResult. Bộ khung ASP.NET MVC bao gồm các kiểu trả về như sau:
Bài tập thực hành của học sinh, sinh viên:
Bài tập 1: Tạo 1 project ASP.Net MVC đơn giản xuất ra câu chào” Hello Howkteam”
Hướng dẫn thực hiện như sau:
Ở phần thứ nhất chúng ta đã nắm được cách hoạt động của View, Controller rồi, bây giờ chúng ta cùng tạo 1 ví dụ đơn giản đó là xuất ra câu “Hello Howkteam” . Đầu tiên vào Controllers > Add > Controller
Tiếp theo, để hiển thị câu “Hello Howkteam” chúng ta cần có View hiển thị, cách tạo View như sau
Click phải chuột vào Index > chọn Add View. Sau đó các bạn làm theo các bước sau
Tại Template chọn Empty (without model), các bước còn lại làm theo hình nhé. Sau khi tạo View Index xong thì để xuất câu “Hello Howkteam” thì thay đổi 1 chút:
Tại thẻ <h2></h2> chúng ta thay đổi nội dung bên trong: “Index” > “Hello Howkteam”. Sau đó các bạn vào RouteConfig trong App_Start để thay đổi Controller và Action > để chúng ta mặc định hiển thị trang chứa dòng chữ “Hello Howkteam” hiện lên đầu tiên
Tại controller chúng ta thay đổi nội dung bên trong Home > Example, cịn action thì các bạn giữ nguyên giá trị là Index sau đó các bạn Run project lên kiểm tra, nếu màn hình chạy đúng như hình phía dưới thì các bạn đã tạo ví dụ thành công