簡體   English   中英

如何有條件地渲染局部視圖

[英]how to render partial view conditionally

我有一個由子視圖(部分視圖)組成的視圖(父視圖),如下所示,

@{ 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”,否則它應該可以工作

如果您的主視圖與模型綁定,部分視圖也需要模型,則使用“元組”將兩個模型綁定到部分視圖中。 通過ViewBag將部分視圖名稱發送到視圖。

@if (@ViewBag.PartialView != null && @ViewBag.PartialView!= "")
{
    @Html.Partial(@ViewBag.PartialView)
}

您可以直接使用Model.Item1 / 2/3/4將模型用於主視圖。

但是這樣做的缺點是,不需要時必須綁定空白的局部視圖。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM