Yearly Archive 2023-10-28

Byphunsanit

C#: Areas พื้นที่ส่วนตัว

สิ่งนี้ช่วยให้เราสามารถจัดการ พื้นที่ในการจัดวาง group code ได้เป็นสัดส่วน ส่วนตัวของแต่ละส่วน ได้มากขึ้น ละสามารถใช้ MVC ร่วมกันได้เหมือนเดิม ทำให้ทำงานง่ายขึ้น

  1. ใน Solution Explorer คลิกขวาที่ project node > add > New Folder สร้างโฟลเดอร์ Areas ขี้นมา
  2. ไปที่โฟลเดอร์ Areas คลิกขวา สร้างโฟลเดอร์ใหม่ เช่น API ขี้นมา
  3. ไปที่ Program.cs ค้นหาใกล้ ๆ กับ
    app.MapControllerRoute(
        name: "API",
        pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
    
  4. เพิ่ม route
    app.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Index}/{id?}");
    

แต่ละ area จะทำแบบนี้เพียงครั้งเดียว จากนั้นจะใช้ area API ในการแยกโค้ทใหม่ได้โดย ตัวอย่าง

  1. ใน Solution Explorer คลิกขวาที่ Areas > API ที่สร้างไว้
  2. คลิกขวา add > Controller…
  3. ที่หน้าต่าง Add New Scaffolded Item เลือกแบบที่ต้องการ เช่น Installed > Common > API > MVC > Controller > MVC Controller With Views, using Entity Framework > Add
  4. ที่หน้าต่าว Add MVC Controller With Views, using Entity Framework
    • Model class เลือก model ที่ต้องการ เช่น line_logins ( Pitt.Models )
    • DbContext class เช่น DSNDevDBContext ( Pitt.Models )
    • Views เลือก options ตามที่ต้องการ
    • Controller name เช่น line_loginsController
    • คลิก Add
  5. ทดสอบโดยลองเรียก URLจะเห็นว่าหน้าทั้ง 2 หน้าต่างกันในส่วนหัวและท้ายแต่ก็ดึงข้อมูลมาจากที่ เดียวกัน

อ่านเพิ่มเติม