MVC3:如何从另一个控制器调用另一个控制器的视图

时间:2011-08-03 22:07:06

标签: asp.net-mvc-3 view razor partial-views html.actionlink

我必须制作一个由几个子表单组成的表单,这些子表单可能包含也可能不包含网格。 为简单起见,我想说我正在使用2个型号 1.申请人详细信息:申请人的基本信息(姓名,DOB,性别)被放置。 2.申请人经历:申请人的工作经验详情正在进行中。

现在为了组织目的,我正在考虑制作两个不同的控制器,即申请人详细信息和申请人经验,两者都将包含各自的功能。但是一旦用户输入他的基本信息,我希望在ApplicantDetail的索引视图中调用相同的视图,该视图将具有网格,用户可以以行的形式输入他/她的上一工作细节。

我的基本问题是,无论如何,我是否可以创建单个剃刀视图,其中包含我的ApplicantDetail的剃刀视图?

1 个答案:

答案 0 :(得分:1)

我相信你要找的是RenderAction

使用RenderAction,您可以在任何视图中调用控制器/视图。

因此,如果你有一些剃刀视图和第二个控制器和视图组合,你可以在第一个视图中调用它:

@{ Html.RenderAction("Action", "Controller2"); }

这在尝试模块化功能时非常有用。

有关详细信息,请参阅Phil Haack的博客文章: Html.RenderAction and Html.Action