确定View是否呈现为“部分”

时间:2013-01-16 00:14:57

标签: c# asp.net-mvc-3 razor partial-views

有没有办法确定视图是否呈现为部分?

我希望通过捕获这个来扩展我正在编写的部分的重用...并且如果需要,为视图分配适当的布局。

目前我只是在div中渲染它,但我也可以看到我们将它用作模态并且可能是它自己的页面。

(模态不应该要求任何改变,所以不用担心)

编辑: 要清理我的要求。

我想知道是否还有确定正在呈现的视图之间的区别......

/path/to/controller

Html.Partial("/path/to/view.cshtml")

3 个答案:

答案 0 :(得分:5)

为什么不用@if(Layout == null)? 我仍然会为“自己的”页面推荐另一个视图并在那里设置布局。

答案 1 :(得分:1)

在您的视图中(假设Razor语法):

@if(typeof(this) == Controller.PartialView)) //code

@if(this is Controller.PartialView) //code

答案 2 :(得分:1)

基于@ Pheonixblade9的回应以及缺乏其他答案,目前看来这似乎不可能。我最终只是将视图的Model绑定为bool,并在渲染视图/部分时传递此值。