58

我在 MVC(基础书籍)中阅读了有关子动作的内容,但我真的不知道它是什么?

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

4

3 回答 3

96

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

@Html.Action("SomeActionName", "SomeController")

然后,此操作将在视图中的指定位置执行并呈现其输出。与 Partial 的区别在于,partial 只包含指定的标记,除了主要动作之外没有其他动作执行。

因此,您基本上拥有接收请求并呈现视图的主要操作,但在此视图中,您可以渲染多个子操作,这些操作将经历它们独立的 MVC 生命周期并最终呈现输出。而这一切都将在单个 HTTP 请求的上下文中发生。

子操作对于创建整个可重用的小部件很有用,这些小部件可以嵌入到您的视图中,并经历它们独立的 MVC 生命周期。

于 2012-09-21T11:52:55.217 回答
7

子动作是通过使用 html.renderaction 或 html.action 助手从视图内部调用的动作。

于 2013-05-29T05:49:03.537 回答
1

子操作是通过@Html.Action()在视图中调用的操作方法。

示例我的控制器上有一个动作。

public DateTime Time(DateTime time)
{
    return time;
}

要从视图中调用此操作,我将使用:

@Html.Action("Time", new { time = DateTime.Now }) 
于 2017-07-12T12:31:11.497 回答