MVC Framework - Bộ điều khiển

Bộ điều khiển Asp.net MVC chịu trách nhiệm kiểm soát luồng thực thi ứng dụng. Khi bạn thực hiện một yêu cầu (có nghĩa là yêu cầu một trang) đến ứng dụng MVC, bộ điều khiển có trách nhiệm trả lại phản hồi cho yêu cầu đó. Bộ điều khiển có thể thực hiện một hoặc nhiều hành động. Hành động của bộ điều khiển có thể trả về các loại kết quả hành động khác nhau cho một yêu cầu cụ thể.

Controller chịu trách nhiệm điều khiển logic ứng dụng và đóng vai trò là người điều phối giữa View và Model. Bộ điều khiển nhận đầu vào từ người dùng thông qua Chế độ xem, sau đó xử lý dữ liệu của người dùng với sự trợ giúp của Mô hình và chuyển kết quả trở lại Chế độ xem.

Tạo bộ điều khiển

Để tạo Bộ điều khiển -

Step 1 - Tạo Ứng dụng rỗng MVC và sau đó nhấp chuột phải vào thư mục Bộ điều khiển trong ứng dụng MVC của bạn.

Step 2- Chọn tùy chọn menu Thêm → Bộ điều khiển. Sau khi chọn, hộp thoại Thêm bộ điều khiển được hiển thị. Đặt tên cho Bộ điều khiển làDemoController.

Tệp lớp Controller sẽ được tạo như trong ảnh chụp màn hình sau.

Tạo Bộ điều khiển bằng IController

Trong MVC Framework, các lớp bộ điều khiển phải triển khai giao diện IController từ không gian tên System.Web.Mvc.

public interface IController {
   void Execute(RequestContext requestContext);
}

Đây là một giao diện rất đơn giản. Phương thức duy nhất, Execute, được gọi khi một yêu cầu được nhắm mục tiêu vào lớp bộ điều khiển. MVC Framework biết lớp bộ điều khiển nào đã được nhắm mục tiêu trong một yêu cầu bằng cách đọc giá trị của thuộc tính bộ điều khiển được tạo bởi dữ liệu định tuyến.

Step 1- Thêm một tệp lớp mới và đặt tên là DemoCustomController. Bây giờ sửa đổi lớp này để kế thừa giao diện IController.

Step 2 - Sao chép đoạn mã sau vào bên trong lớp này.

public class DemoCustomController:IController { 
   
   public void Execute(System.Web.Routing.RequestContext requestContext) { 
      var controller = (string)requestContext.RouteData.Values["controller"]; 
      var action = (string)requestContext.RouteData.Values["action"]; 
      requestContext.HttpContext.Response.Write( 
      string.Format("Controller: {0}, Action: {1}", controller, action)); 
   } 
}

Step 3 - Chạy ứng dụng và bạn sẽ nhận được kết quả sau.