我希望这是重复的,但到目前为止我的搜索还没有找到答案。
是否有一种简单的方法可以在剃刀视图中判断它是否呈现为部分?没有在模型中设置属性或ViewBag
/ ViewData
告诉它?
例如,您可能会遇到以下情况:
public ActionResult SometimesPartialSometimesNot()
{
return ControllerContext.IsChildAction ? PartialView() : View();
}
现在我知道您可以从视图的IsChildAction
访问ViewContext
,但请在网站的其他位置说明您的信息:
Html.RenderPartial("SometimesPartialSometimesNot", new CustomModel());
考虑到上述所有情况,是否有一种简单的方法可以在SometimesPartialSometimesNot
视图中判断它是否呈现为部分(来自动作或其他视图)?
答案 0 :(得分:3)
是否有一种简单的方法可以在剃刀视图中判断它是否呈现为部分?
不,除了将此信息作为模型值(或ViewData)传递之外,没有办法。顺便提一下,当你给它第二个想法时,这将使你的代码变得更好,因为partial不会依赖于使用RenderPartial助手还是以其他方式呈现为部分的事实。它是自我依赖的(仅在其视图模型上) - >所有观点应该是这样的。
注意:这可以通过子操作填充ParentActionViewContext
属性。