NonAction attribute ব্যবহার করা হয় যখন আমরা একটি কন্ট্রোলারে একটি পাবলিক পদ্ধতি চাই কিন্তু এটিকে একটি অ্যাকশন পদ্ধতি হিসাবে বিবেচনা করতে চাই না। একটি কর্ম পদ্ধতি একটি নিয়ামকের একটি সর্বজনীন পদ্ধতি যা একটি URL ব্যবহার করে আহ্বান করা যেতে পারে। সুতরাং, ডিফল্টরূপে, যদি আমাদের একটি কন্ট্রোলারে কোনও সর্বজনীন পদ্ধতি থাকে তবে এটি একটি URL অনুরোধ ব্যবহার করে আহ্বান করা যেতে পারে। একটি কন্ট্রোলারে সর্বজনীন পদ্ধতিতে অ্যাক্সেস সীমাবদ্ধ করতে, NonAction বৈশিষ্ট্য ব্যবহার করা যেতে পারে।
এখন বিবেচনা করা যাক হোমকন্ট্রোলারের দুটি সর্বজনীন পদ্ধতি রয়েছে 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>"; } } }
আসুন আমরা নীচের ইউআরএলগুলি ব্যবহার করে হোমকন্ট্রোলারে উভয় পদ্ধতি ব্যবহার করি।
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 নন অ্যাকশন তৈরির আউটপুট রয়েছে৷
আউটপুট