调用@ Html.Partial以显示属于不同控制器的局部视图

时间:2011-05-19 14:40:30

标签: c# asp.net asp.net-mvc razor

我正在开发一个ASP.NET MVC 3应用程序,其内容页面具有布局元素的通用模式。但是,由于登录页面不遵循此布局,因此我无法将此布局放在\Views\Shared\_Layout.cshtml

所以我想添加另一个共享布局,比如\Views\Shared\_Content.cshtml,并从内容视图中调用它......但不幸的是,这些视图属于不同的控制器。

有没有办法为属于不同控制器的视图调用@Html.Partial

2 个答案:

答案 0 :(得分:153)

这没问题。

@Html.Partial("../Controller/View", model)

@Html.Partial("~/Views/Controller/View.cshtml", model)

应该做的伎俩。

如果您想通过(其他)控制器,可以使用:

@Html.Action("action", "controller", parameters)

或任何其他重载

答案 1 :(得分:7)

正如GvS所说,但我也觉得使用strongly typed views很有用,所以我可以写一些像

@Html.Partial(MVC.Student.Index(), model)

没有魔法字符串。