Action Methods হল ASP.NET Core MVC কন্ট্রোলারের মেথড, যেগুলি ব্যবহারকারীর রিকোয়েস্ট গ্রহণ করে এবং সঠিক রেসপন্স প্রদান করে। এই মেথডগুলির মাধ্যমে ব্যবহারকারীর ইনপুট প্রক্রিয়া করা হয় এবং সেগুলোর জন্য ভিউ বা অন্য কোনো রেসপন্স তৈরি করা হয়।
Action Method কী?
Action Method হল একটি পাবলিক মেথড যা ASP.NET Core MVC কন্ট্রোলারের অংশ এবং এটি HTTP রিকোয়েস্ট প্রক্রিয়া করতে ব্যবহৃত হয়। প্রতিটি Action Method এক বা একাধিক HTTP রিকোয়েস্টকে হ্যান্ডেল করে, যেমন GET, POST, PUT, DELETE ইত্যাদি। সাধারণত, কন্ট্রোলার ক্লাসে একাধিক Action Method থাকতে পারে, যা বিভিন্ন রিকোয়েস্ট টাইপ এবং রাউট পাথ অনুযায়ী কাজ করে।
Action Method এর কাজের ধারা
- ব্যবহারকারী HTTP রিকোয়েস্ট পাঠায়: এটি সাধারণত ওয়েব ব্রাউজার, API কনজিউমার, বা অন্য কোনো ক্লায়েন্ট হতে পারে।
- কন্ট্রোলার সেই রিকোয়েস্টের জন্য Action Method কল করে: কন্ট্রোলার রিকোয়েস্ট অনুযায়ী সঠিক Action Method নির্বাচন করে।
- Action Method ব্যবসায়িক লজিক প্রক্রিয়া করে: এটি মডেল থেকে ডেটা নিয়ে আসে এবং তা প্রক্রিয়া করে।
- Action Method একটি রেসপন্স রিটার্ন করে: এটি সাধারণত ভিউ বা JSON/XML আউটপুট হতে পারে, যা ব্যবহারকারীকে দেখানো হয়।
Return Types (রিটার্ন টাইপ)
Action Methods বিভিন্ন ধরনের রিটার্ন টাইপ রিটার্ন করতে পারে। নিচে সাধারণ কিছু রিটার্ন টাইপের উদাহরণ দেওয়া হলো:
1. ViewResult
ViewResult একটি Action Method থেকে সাধারণত ব্যবহার করা হয় যখন আপনি HTML পেজ (ভিউ) ব্যবহারকারীকে প্রদর্শন করতে চান। View() মেথডের মাধ্যমে একটি ভিউ রিটার্ন করা হয়।
উদাহরণ:
public ViewResult Index()
{
return View();
}
এখানে, View() মেথড ভিউ ফাইল রিটার্ন করে, যা Views ফোল্ডারের মধ্যে থাকে।
2. ActionResult
ActionResult একটি সাধারণ রিটার্ন টাইপ যা বিভিন্ন ধরনের রিটার্ন টাইপের জন্য বেস ক্লাস হিসেবে কাজ করে। এটি ViewResult, JsonResult, RedirectResult ইত্যাদি সহ বিভিন্ন রিটার্ন টাইপকে ধারণ করতে পারে। এটা বেশ উপযোগী যখন আপনি একই Action Method থেকে বিভিন্ন ধরনের রেসপন্স রিটার্ন করতে চান।
উদাহরণ:
public ActionResult Index()
{
return View(); // ViewResult হিসেবে ভিউ রিটার্ন করবে।
}
3. JsonResult
JsonResult ব্যবহৃত হয় যখন অ্যাপ্লিকেশন JSON ডেটা রিটার্ন করতে চায়, যেমন ওয়েব API থেকে। এটি সাধারণত অ্যাজাক্স রিকোয়েস্ট বা API রেসপন্সের ক্ষেত্রে ব্যবহৃত হয়।
উদাহরণ:
public JsonResult GetDetails()
{
var data = new { Name = "John", Age = 30 };
return Json(data); // JSON আউটপুট রিটার্ন করবে।
}
4. RedirectToActionResult
RedirectToActionResult ব্যবহার করা হয় এক অ্যাকশন থেকে অন্য অ্যাকশনে রিডিরেক্ট করার জন্য। এটি সাধারণত ব্যবহার হয় যখন একটি নির্দিষ্ট কাজ সম্পন্ন হওয়ার পর অন্য কোনো পেজে রিডিরেক্ট করতে হয়।
উদাহরণ:
public RedirectToActionResult RedirectToHome()
{
return RedirectToAction("Index", "Home");
}
5. RedirectResult
RedirectResult সাধারণত অন্য URL এ রিডিরেক্ট করার জন্য ব্যবহৃত হয়, যেমন একটি সাইটের বাহিরে বা অন্য পেজে। এটি Redirect() মেথডের মাধ্যমে ব্যবহৃত হয়।
উদাহরণ:
public RedirectResult RedirectToGoogle()
{
return Redirect("https://www.google.com");
}
6. ContentResult
ContentResult সাধারণত কাঁচা টেক্সট বা HTML কনটেন্ট রিটার্ন করার জন্য ব্যবহৃত হয়। এটি সরাসরি কন্টেন্ট প্রদর্শন করতে সাহায্য করে।
উদাহরণ:
public ContentResult ShowMessage()
{
return Content("Hello, World!"); // টেক্সট রিটার্ন করবে।
}
7. FileResult
FileResult ব্যবহৃত হয় ফাইল রিটার্ন করার জন্য। এটি বিশেষভাবে ফাইল ডাউনলোড বা ফাইল প্রদর্শন করতে কাজে আসে।
উদাহরণ:
public FileResult DownloadFile()
{
byte[] fileBytes = System.IO.File.ReadAllBytes("path/to/file");
return File(fileBytes, "application/pdf", "downloadedfile.pdf");
}
Action Methods এর রাউটিং এবং HTTP মেথড
ASP.NET Core এ Action Methods বিভিন্ন HTTP মেথডের জন্য ডিজাইন করা যেতে পারে:
- GET: তথ্য প্রাপ্তির জন্য ব্যবহৃত হয়। সাধারণত ভিউ রিটার্ন বা ডেটা শো করার জন্য।
- POST: নতুন ডেটা প্রেরণ বা সংরক্ষণ করার জন্য ব্যবহৃত হয়।
- PUT: বিদ্যমান ডেটা আপডেট করার জন্য ব্যবহৃত হয়।
- DELETE: ডেটা মুছে ফেলার জন্য ব্যবহৃত হয়।
এছাড়া, কন্ট্রোলার অ্যাকশন মেথডের সাথে HttpGet, HttpPost, HttpPut, HttpDelete অ্যাট্রিবিউট ব্যবহার করা যেতে পারে, যা নির্দিষ্ট HTTP মেথডে রিকোয়েস্ট গ্রহণ করতে সাহায্য করে।
সারাংশ
ASP.NET Core MVC কন্ট্রোলারে Action Methods ব্যবহারকারীর রিকোয়েস্টের ভিত্তিতে সঠিক রেসপন্স প্রদান করে। Action Methods বিভিন্ন ধরনের রিটার্ন টাইপ ব্যবহার করে, যেমন ViewResult, JsonResult, RedirectResult, ইত্যাদি। এগুলি বিভিন্ন প্রয়োজনে ব্যবহার করা হয় যেমন HTML পেজ রিটার্ন, JSON ডেটা প্রদান, রিডিরেক্ট করা, অথবা কাঁচা টেক্সট বা ফাইল রিটার্ন করা। Action Methods ব্যবহারের মাধ্যমে অ্যাপ্লিকেশনটি আরও ডাইনামিক এবং কার্যকরী হয়ে ওঠে।
Read more