标题几乎说明了我的问题。
我在控制器(Action1
)中有一个视图(例如,Foo
),在另一个控制器(Action2
)中有另一个视图(Bar
)。在Action1
视图中,我想使用Html.Partial
或Html.RenderPartial
来调用Action2
的视图。
我知道我可以在Html.RenderAction
中使用Action1
,但是(我认为)会创建Bar
控制器并完成整个控制器/动作解析周期,我不希望如此,因为这可能效率较低。
所以,我的目标是我想重用Action2
的视角。我怎样才能做到这一点?
答案 0 :(得分:1)
考虑将部分移至 Views \ Shared 文件夹。
然后你可以从任何地方渲染它:
E.g:
<强>剃刀:强>
@Html.Partial("SharedView")
<强> ASPX:强>
<%: Html.Partial("SharedView") %>
如果您不想这样做,请尽可能多地将主要部分标记到自定义显示模板中,然后在两个视图中重复使用。
是的,您对@Html.Action
通过请求管道的权利,@Html.Partial
没有。