MVC Framework - คอนโทรลเลอร์

Asp.net MVC Controllers มีหน้าที่ควบคุมขั้นตอนการทำงานของแอปพลิเคชัน เมื่อคุณส่งคำขอ (หมายถึงขอเพจ) ไปยังแอปพลิเคชัน MVC คอนโทรลเลอร์จะรับผิดชอบในการส่งคืนการตอบกลับไปยังคำขอนั้น คอนโทรลเลอร์สามารถดำเนินการอย่างน้อยหนึ่งอย่าง การดำเนินการของตัวควบคุมสามารถส่งคืนผลลัพธ์การดำเนินการประเภทต่างๆให้กับคำขอเฉพาะ

คอนโทรลเลอร์มีหน้าที่ควบคุมตรรกะของแอปพลิเคชันและทำหน้าที่เป็นผู้ประสานงานระหว่าง View และ Model คอนโทรลเลอร์รับอินพุตจากผู้ใช้ผ่านทาง View จากนั้นประมวลผลข้อมูลของผู้ใช้ด้วยความช่วยเหลือของ Model และส่งผลลัพธ์กลับไปที่ View

สร้างตัวควบคุม

ในการสร้างคอนโทรลเลอร์ -

Step 1 - สร้าง MVC Empty Application จากนั้นคลิกขวาที่โฟลเดอร์ Controller ในแอปพลิเคชัน MVC ของคุณ

Step 2- เลือกตัวเลือกเมนูเพิ่ม→คอนโทรลเลอร์ หลังจากเลือกแล้วกล่องโต้ตอบ Add Controller จะปรากฏขึ้น ตั้งชื่อคอนโทรลเลอร์เป็นDemoController.

ไฟล์คลาส Controller จะถูกสร้างขึ้นดังที่แสดงในภาพหน้าจอต่อไปนี้

สร้างคอนโทรลเลอร์ด้วย IController

ใน MVC Framework คลาสคอนโทรลเลอร์ต้องใช้อินเตอร์เฟส IController จากเนมสเปซ System.Web.Mvc

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

นี่คืออินเทอร์เฟซที่เรียบง่ายมาก วิธีการเดียว Execute ถูกเรียกใช้เมื่อคำร้องขอถูกกำหนดเป้าหมายที่คลาสคอนโทรลเลอร์ MVC Framework รู้ว่าคลาสคอนโทรลเลอร์ใดถูกกำหนดเป้าหมายในคำร้องขอโดยการอ่านค่าของคุณสมบัติคอนโทรลเลอร์ที่สร้างโดยข้อมูลการกำหนดเส้นทาง

Step 1- เพิ่มไฟล์คลาสใหม่และตั้งชื่อเป็น DemoCustomController ตอนนี้แก้ไขคลาสนี้เพื่อสืบทอดอินเทอร์เฟซ IController

Step 2 - คัดลอกรหัสต่อไปนี้ในชั้นเรียนนี้

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 - เรียกใช้แอปพลิเคชันและคุณจะได้รับผลลัพธ์ต่อไปนี้