ChildActionOnly 标记 - Asp.net MVC
ChildActionOnly标记用于声明Action不能直接通过Url访问,但可以作为某一个Action的子Action访问。
怎么理解?
1、ChildActionOnly标记了Action之后,该Action不能直接通过Url访问;
2、只能通过子Action访问,即@Html.RenderAction()的调用方式作为子Action调用;
如,我们在HomeController里新建两个Action:
|
1
2
3
4
5
6
7
8
9
10
11
12
|
public class HomeController : Controller{ public ActionResult Index() { return View(); } [ChildActionOnly] public ActionResult Child() { return Content("Child的Action内容!"); }} |
此时,通过"/Home/Child"访问Child的Action是报错的。报错如下:

我们只能视图里以@Hhml.RenderAction()的方式引用Child。
如,index视图什么都不干,只输出Child的返回内容:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
@{ Layout = null;}<!DOCTYPE html><html><head> <meta name="viewport" content="width=device-width" /> <title>Index</title></head><body> @{Html.RenderAction("Child");}</body></html> |
这样,就能够用的到Child这个Action。

浙公网安备 33010602011771号