Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

การใช้แอตทริบิวต์ ChildActionOnly ใน ASP .Net MVC C # คืออะไร


การดำเนินการของเด็กสามารถเข้าถึงได้โดยคำขอของเด็กเท่านั้น จะไม่ตอบสนองต่อคำขอ URL หากมีความพยายาม ข้อผิดพลาดรันไทม์จะถูกโยนโดยระบุ - การดำเนินการลูกสามารถเข้าถึงได้โดยคำขอย่อยเท่านั้น วิธีการดำเนินการย่อยสามารถเรียกใช้ได้โดยการสร้างคำขอลูกจากมุมมองโดยใช้ตัวช่วย html Action() และ RenderAction()

วิธีการดำเนินการลูกนั้นแตกต่างจากวิธี NonAction โดยที่วิธี NonAction ไม่สามารถเรียกใช้โดยใช้ตัวช่วย Action() หรือ RenderAction()

ด้านล่างนี้คือ Child Action Error เมื่อเราพยายามเรียกใช้โดยใช้ URL

การใช้แอตทริบิวต์ ChildActionOnly ใน ASP .Net MVC C # คืออะไร

คอนโทรลเลอร์

ตัวอย่าง

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>
}

ผลลัพธ์

การใช้แอตทริบิวต์ ChildActionOnly ใน ASP .Net MVC C # คืออะไร

นอกจากนี้ยังสามารถเรียกการกระทำลูกโดยใช้ตัวช่วย HTML "RenderAction()" ดังที่แสดงด้านล่าง

@{
   Html.RenderAction("Countries", new { countryData = new List<string>() {
   "USA", "UK", "India", "Australia" } });
}