Computer >> Máy Tính >  >> Lập trình >> C#

Việc sử dụng thuộc tính ChildActionOnly trong ASP .Net MVC C # là gì?

Hành động dành cho trẻ em chỉ có thể truy cập được khi có yêu cầu của trẻ em. Nó sẽ không trả lời các yêu cầu URL. Nếu một nỗ lực được thực hiện, một lỗi thời gian chạy sẽ được đưa ra cho biết - Hành động con chỉ có thể truy cập được bởi một yêu cầu con. Các phương thức hành động con có thể được gọi bằng cách thực hiện yêu cầu con từ một dạng xem sử dụng trình trợ giúp html Action () và RenderAction ().

Các phương thức hành động con khác với các phương thức NonAction, ở chỗ không thể gọi NonActionmethods bằng cách sử dụng trình trợ giúp Action () hoặc RenderAction ().

Dưới đây là Lỗi hành động con khi chúng tôi cố gọi nó bằng URL.

Việc sử dụng thuộc tính ChildActionOnly trong ASP .Net MVC C # là gì?

Bộ điều khiển

Ví dụ

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

Chế độ xem chỉ mục

@{
   ViewBag.Title = "Countries List";
}
<h2>Countries List</h2>
@Html.Action("Countries", new { countries = new List<string>() { "USA", "UK",
"India", "Australia" } })

Chế độ xem các quốc gia

@model List<string>
@foreach (string country in Model){
   <ul>
      <li>
         <b>
            @country
         </b>
      </li>
   </ul>
}

Đầu ra

Việc sử dụng thuộc tính ChildActionOnly trong ASP .Net MVC C # là gì?

Các hành động con cũng có thể được gọi bằng trình trợ giúp HTML "RenderAction ()" như hình dưới đây.

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