চাইল্ড অ্যাকশন শুধু চাইল্ড রিকোয়েস্টের মাধ্যমে অ্যাক্সেসযোগ্য। এটি URL রিকোয়েস্টের জন্য রেসপন্ড করে না। যদি চেষ্টা করা হয়, তবে রানটাইম এরর থ্রো করবে - "Child action is accessible only by a child request"। চাইল্ড অ্যাকশন মেথডগুলো ভিউ থেকে Action() এবং RenderAction() HTML হেল্পার ব্যবহার করে চাইল্ড রিকোয়েস্ট করে আহ্বান করা যেতে পারে।
চাইল্ড অ্যাকশন মেথড NonAction মেথড থেকে আলাদা, কারণ NonAction মেথডগুলো Action() বা RenderAction() হেল্পার ব্যবহার করে আহ্বান করা যায় না।
কন্ট্রোলার
উদাহরণ
using System.Collections.Generic;
using System.Web.Mvc;
namespace DemoMvcApplication.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
[ChildActionOnly]
public ActionResult Countries(List countries)
{
return View(countries);
}
}
}
Index ভিউ
@{
ViewBag.Title = "Countries List";
}
Countries List
@Html.Action("Countries", new { countries = new List() { "USA", "UK", "India", "Australia" } })
Countries ভিউ
@model List@foreach (string country in Model) { }
- @country
আউটপুট
দেশের তালিকা প্রদর্শন করা হবে।
চাইল্ড অ্যাকশনগুলো "RenderAction()" HTML হেল্পার ব্যবহার করেও আহ্বান করা যায়।
@{
Html.RenderAction("Countries", new { countryData = new List() { "USA", "UK", "India", "Australia" } });
}