我有几个部分视图需要将它们堆叠在我的网页上。
pv1 pv2
pv3 pv4
pv5 pv6
我还需要能够在每个视图中隐藏它们中的任何一个甚至标签。
我尝试使用表格,但我无法让它们显示正确。
以下是我所做的一个例子:
<h2>AccountScreen</h2>
<table>
<tr>
@Html.Partial("CustomerInfoPartialView")
</tr>
<tr>
@Html.Partial("BalancePartialView")
</tr>
</table>
这并没有像我希望的那样,这是一团糟。
我应该使用什么来堆叠我的部分视图,还能够以编程方式隐藏/显示它们?
答案 0 :(得分:1)
正如人们所说,你应该使用<div>
元素。您还应该为它们提供唯一标识符,并根据需要使用jQuery隐藏/显示。如果在渲染模型时有可用的条件,则根据需要向每个元素添加可见/隐藏样式可能更简单。
@
{
Html.Partial("CustomerInfoPartialView")
...
Html.Partial("CustomerInfoPartialView")
}
然后在每个部分:
@{
var classToUse = (myVisibleCriteriaBool) ? "visibleClass" : "hiddenClass";
}
<div id="UniqueNamePartialView" class="stackableDivs @classToUse">
Your html stuff here
</div>
只要类stackableDivs
(我刚刚编写)包含浮动样式,它们应该适当地堆叠。这可能需要根据你希望它们如何堆叠来调整,但它仍然应该是css的问题。如果您在渲染视图时不知道,可以使用jQuery隐藏各个元素:
$($('#UniqueNamePartialView").hide());
或
$($('#UniqueNamePartialView").show());
我会远离toggle()
,因为它是deprecated。
答案 1 :(得分:0)
如果你想在视图中隐藏/显示它们在C#中,你所要做的就是渲染它们。
如果您想在JavaScript中隐藏/显示它们,只需将它们放在div
内并使用$("your_div").toggle();