如何有条件地渲染局部视图
本文关键字:染局 视图 有条件 | 更新日期: 2023-09-27 17:57:48
我有一个由子视图(局部视图)组成的视图(父视图)如下所示,
@{ Html.RenderPartial("_partialViewName",Model);}
@(Html.X().Panel().
Items(Html.X().Container().ID("cntrGenerateReportResult")
)
)
是否可以根据条件显示/隐藏(渲染)局部视图模型的属性值
我试过了,
@if(Model.Type != "RER")
{
Html.RenderPartial("_partialViewName", Model);
}
但没有渲染下面的面板。。
如果Type的值为"RER",则应进行渲染:
@if(Model.Type.Trim() == "RER")
{
}
else
{
Html.RenderPartial("_partialViewName", Model);
}
您必须确保Type不是"RER",否则它应该工作
如果您的主视图与model&局部视图还需要一个模型,然后使用"Tuple"将两个模型绑定在局部视图中。通过ViewBag向视图发送部分视图名称。
@if (@ViewBag.PartialView != null && @ViewBag.PartialView!= "")
{
@Html.Partial(@ViewBag.PartialView)
}
可以直接使用model.Item1/2/3/4将模型用于主视图。
但这样做的缺点是,当你不需要的时候,你必须绑定一个空白的局部视图