0
我有一個佈局頁面,並且目前有一個頁面使用該佈局。我想要在頁面上顯示或隱藏部分頁面。如果它隱藏,則需要調整其他樣式更改,如主內容div的寬度。下面是我非工作在這個嘗試:從子頁面呈現控件佈局
佈局頁
@{
Layout = "~/Views/Shared/_Layout.cshtml";
ViewBag.ShowTree = true;
}
<div class="row">
@if(ViewBag.ShowTree){
<div class="col-md-2">
@Html.Action("ItemTree")
</div>
}
<div class="@(ViewBag.ShowTree ? "col-md-10" : "col-md-12")">
@RenderBody()
</div>
</div>
子頁面
@{
ViewBag.Title = "Edit";
Layout = "~/Views/Shared/_NestedLayout.cshtml";
ViewBag.ShowTree = false;
}
在這種情況下爲ShowTree值設置爲true,佈局頁面呈現,然後孩子將其設置爲false,並呈現內容。基於MVC的頁面生命週期,這非常有意義。但當然不是我想要它如何工作。
我知道我可以在控制器中設置這個值,而不是將它設置在佈局/網頁中,但是我希望如果我可以將它設置爲純粹的設計,並且保持它不在控制器。
我的偏好是它根本不會調用該操作,而不僅僅是使用JavaScript隱藏數據。
所以我就必須同時使用部分和標誌...不理想,但它可能會工作,我想。 – Peter
Arghhh,我沒有注意到你也在使用該標誌來顯示不同的網格列。現在我不喜歡我的解決方案。 –