गैर कार्रवाई विशेषता का उपयोग तब किया जाता है जब हम नियंत्रक में सार्वजनिक विधि चाहते हैं लेकिन इसे एक क्रिया विधि के रूप में नहीं मानना चाहते हैं। एक क्रिया विधि एक नियंत्रक में एक सार्वजनिक विधि है जिसे यूआरएल का उपयोग करके बुलाया जा सकता है। इसलिए, डिफ़ॉल्ट रूप से, यदि हमारे पास नियंत्रक में कोई सार्वजनिक विधि है तो इसे URL अनुरोध का उपयोग करके लागू किया जा सकता है। नियंत्रक में सार्वजनिक विधियों तक पहुंच को प्रतिबंधित करने के लिए, नॉनएक्शन विशेषता का उपयोग किया जा सकता है।
आइए अब होमकंट्रोलर के दो सार्वजनिक तरीकों पर विचार करें MyMethod1 andMyMethod2 ।
नियंत्रक
उदाहरण
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>"; } } }
आइए नीचे दिए गए 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 नॉन एक्शन बनाने का आउटपुट नीचे दिया गया है।
आउटपुट