ASP .Net MVC C# 中 ChildActionOnly 特性有哪些用途?
子操作只能通过子请求访问。它不会响应 URL 请求。如果尝试这样做,将引发一条运行时错误,说明 - 子操作只能通过子请求访问。可以使用操作() 和 RenderAction() html 帮助程序,通过从视图发出子请求来调用子操作方法。
子操作方法与 NonAction 方法不同,因为 NonAction 方法不能使用 Action() 或 RenderAction() 帮助程序调用。
下面是我们尝试使用 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>
}输出

也可以使用“RenderAction()”HTML 帮助程序调用子操作,如下所示。
@{
Html.RenderAction("Countries", new { countryData = new List<string>() {
"USA", "UK", "India", "Australia" } });
}
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP