如何为布局编写Get Action

时间:2014-11-21 09:25:31

标签: c# asp.net asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

我有布局_PageLayout。 我想将一些模型传递给布局_PageLayout,它可以从会话中可用的上下文生成。 所以我想为布局_PageLayout编写Get Action。

1 个答案:

答案 0 :(得分:0)

您无法将模型传递到布局页面的方式与将模型传递到视图页面的方式相同。

在布局页面中,您可以调用子操作方法来检索所需的内容,而不是将模型传递给布局。

例如:

_PageLayout.cshtml页面中,您可以包含对child action的调用,如下所示:

@Html.Action("MyChildActionName", "MyActionName")

然后您可以在适当的控制器中定义子操作,如下所示:

[ChildActionOnly]
public ViewResult MyChildActionName()
{
    var viewModel = //define view model with the contents from your session value here
    return View(viewModel);  //This should return a view that will be rendered within the calling View page
}