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