首页 > 代码库 > 【ASP.NET MVC 学习笔记】- 13 Child Action

【ASP.NET MVC 学习笔记】- 13 Child Action

本文参考:http://www.cnblogs.com/willick/p/3410855.html

1、Child action 和 Patial view 类似,也是在应用程序的不同地方可以重复利用相同的子内容。不同的是,它是通过调用 controller 中的 action 方法来呈现子内容的,并且一般包含了业务的处理。任何 action 都可以作为子 action 。示例:

//1、ChildActionOnly 特性保证了该 action 只能作为子action被调用(不是必须的)
[ChildActionOnly]
public ActionResult Time()
{
    return PartialView(DateTime.Now);
}

//2、View Time.cshtml
@model DateTime

<p>The time is: @Model.ToShortTimeString()</p> 


//3、在 List.cshtml 视图中添加如下代码来调用 Time action 方法 :
@Html.Action("Time")

    通过 @Html.Action 方法来调用了 Time action 方法来呈现子内容。在这个方法中我们只传了一个action名称参数,MVC将根据当前View所在Controller去查找这个action。如果是调用其它 controller 中的 action 方法,则需要在第二个参数中指定 controller 的名称,如下:

@Html.Action("Time", "MyController")

    该方法也可以给 action 方法的参数传值,如对于下面带有参数的 action:

[ChildActionOnly] 
public ActionResult Time(DateTime time) 
{ 
    return PartialView(time); 
}

@Html.Action("Time", new { time = DateTime.Now })

 

【ASP.NET MVC 学习笔记】- 13 Child Action