चाइल्ड एक्शन केवल चाइल्ड रिक्वेस्ट द्वारा ही एक्सेस किया जा सकता है। यह URL अनुरोधों का जवाब नहीं देगा। यदि कोई प्रयास किया जाता है, तो रनटाइम त्रुटि को यह कहते हुए फेंक दिया जाएगा - चाइल्ड एक्शन केवल चाइल्ड रिक्वेस्ट द्वारा ही एक्सेस किया जा सकता है। एक्शन () और रेंडरएक्शन () एचटीएमएल हेल्पर्स का उपयोग करके चाइल्ड एक्शन विधियों को एक दृश्य से अनुरोध करके लागू किया जा सकता है।
चाइल्ड एक्शन मेथड्स नॉनएक्शन मेथड्स से अलग हैं, इसमें नॉनएक्शनमेथड्स को एक्शन () या रेंडरएक्शन () हेल्पर्स का उपयोग करके लागू नहीं किया जा सकता है।
जब हम URL का उपयोग करके इसे लागू करने का प्रयास करते हैं तो नीचे चाइल्ड एक्शन त्रुटि है।
नियंत्रक
उदाहरण
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<string> countries){ return View(countries); } } }
इंडेक्स व्यू
@{ ViewBag.Title = "Countries List"; } <h2>Countries List</h2> @Html.Action("Countries", new { countries = new List<string>() { "USA", "UK", "India", "Australia" } })
देश देखें
@model List<string> @foreach (string country in Model){ <ul> <li> <b> @country </b> </li> </ul> }
आउटपुट
नीचे दिखाए गए अनुसार "रेंडरएक्शन ()" एचटीएमएल हेल्पर का उपयोग करके बाल क्रियाओं को भी लागू किया जा सकता है।
@{ Html.RenderAction("Countries", new { countryData = new List<string>() { "USA", "UK", "India", "Australia" } }); }