ไม่ดำเนินการ แอตทริบิวต์ถูกใช้เมื่อเราต้องการวิธีสาธารณะในตัวควบคุม แต่ไม่ต้องการถือว่าเป็นวิธีการดำเนินการ วิธีดำเนินการคือวิธีการสาธารณะในคอนโทรลเลอร์ที่สามารถเรียกใช้โดยใช้ URL ดังนั้น ตามค่าเริ่มต้น หากเรามีวิธีการสาธารณะใดๆ ในตัวควบคุม ก็สามารถเรียกใช้ได้โดยใช้คำขอ URL ในการจำกัดการเข้าถึงวิธีการสาธารณะในตัวควบคุม คุณสามารถใช้แอตทริบิวต์ NonAction ได้
ตอนนี้ให้เราพิจารณา HomeController ว่ามีวิธีการสาธารณะสองวิธี MyMethod1 และMyMethod2 .
คอนโทรลเลอร์
ตัวอย่าง
using System.Web.Mvc; namespace DemoMvcApplication.Controllers{ public class HomeController : Controller{ public string MyMethod1(){ return "<h1>My Method 1 Invoked</h1>"; } public string MyMethod2(){ return "<h1>My Method 2 Invoked</h1>"; } } }
ให้เราเรียกใช้ทั้งสองวิธีใน HomeController โดยใช้ URL ด้านล่าง
https://localhost:59146/Home/MyMethod1
https://localhost:59146/Home/MyMethod2
สมมติว่า MyMethod2 มีไว้เพื่อวัตถุประสงค์ภายในบางอย่าง และเราไม่ต้องการให้เรียกใช้โดยใช้คำขอ URL เพื่อให้บรรลุสิ่งนี้ เราต้องตกแต่งด้วย NonActionattribute
คอนโทรลเลอร์
ตัวอย่าง
using System.Web.Mvc; namespace DemoMvcApplication.Controllers{ public class HomeController : Controller{ public string MyMethod1(){ return "<h1>My Method 1 Invoked</h1>"; } [NonAction] public string MyMethod2(){ return "<h1>My Method 2 Invoked</h1>"; } } }
ด้านล่างนี้คือผลลัพธ์ของการสร้าง MyMethod2 Non Action
ผลลัพธ์