我在 MVC(基础书籍)中阅读了有关子动作的内容,但我真的不知道它是什么?
有人可以解释这些方法吗?
Phil Haack 在这篇博文中很好地解释了这一点。基本上,子操作是一个控制器操作,您可以使用Html.Action
帮助程序从视图中调用它:
@Html.Action("SomeActionName", "SomeController")
然后,此操作将在视图中的指定位置执行并呈现其输出。与 Partial 的区别在于,partial 只包含指定的标记,除了主要动作之外没有其他动作执行。
因此,您基本上拥有接收请求并呈现视图的主要操作,但在此视图中,您可以渲染多个子操作,这些操作将经历它们独立的 MVC 生命周期并最终呈现输出。而这一切都将在单个 HTTP 请求的上下文中发生。
子操作对于创建整个可重用的小部件很有用,这些小部件可以嵌入到您的视图中,并经历它们独立的 MVC 生命周期。
子动作是通过使用 html.renderaction 或 html.action 助手从视图内部调用的动作。
子操作是通过@Html.Action()在视图中调用的操作方法。
示例我的控制器上有一个动作。
public DateTime Time(DateTime time)
{
return time;
}
要从视图中调用此操作,我将使用:
@Html.Action("Time", new { time = DateTime.Now })