什么是MVC儿童行动?

Sha*_*ari 54 asp.net-mvc

我读过MVC(基础书)中的儿童行为,但我真的不知道它是什么?

有人可以解释这些方法吗?

Dar*_*rov 94

Phil Haack在这篇博文中很好地解释了这一点.基本上,子操作是一个控制器操作,您可以使用Html.Action帮助程序从视图中调用它:

@Html.Action("SomeActionName", "SomeController")
Run Code Online (Sandbox Code Playgroud)

然后,此操作将在视图中的指定位置执行并呈现其输出.与Partial的区别在于partial只包含指定的标记,没有其他操作执行而不是main操作.

因此,您基本上拥有接收请求并呈现视图的主要操作,但是从此视图中您可以呈现多个子操作,这些操作将通过其独立的MVC生命周期并最终呈现输出.所有这些都将在单个HTTP请求的上下文中发生.

子操作对于创建可以嵌入到视图中并通过其独立MVC生命周期的整个可重用小部件非常有用.

  • 实际上当你调用`Html.Partial`时,该动作自动成为子动作.如果用`[ChildActionOnly]属性修饰动作,那么你只能将它用作子动作 - 你无法直接访问它. (10认同)
  • 是的,但仅限于观点.您还可以在浏览器地址栏中键入URL,然后调用标准控制器操作. (2认同)

Kum*_*PMP 7

子操作是通过在视图内使用html.renderaction或html.action帮助程序调用的操作.