C# 需要Razor中的堆栈视图,允许我隐藏视图或字段

C# 需要Razor中的堆栈视图,允许我隐藏视图或字段,c#,html,asp.net-mvc,razor,C#,Html,Asp.net Mvc,Razor,我有几个局部视图,我需要将它们堆叠在我的网页上 pv1 pv2 pv3 pv4 pv5 pv6 我还需要能够隐藏它们中的任何一个,甚至在每个视图中隐藏标签 我试着用一张桌子,但我不能让他们正确地出现 下面是我所做工作的一个例子: <h2>AccountScreen</h2> <table> <tr> @Html.Partial("CustomerInfoPartialView") </tr> &

我有几个局部视图,我需要将它们堆叠在我的网页上

pv1 pv2

pv3 pv4

pv5 pv6

我还需要能够隐藏它们中的任何一个,甚至在每个视图中隐藏标签

我试着用一张桌子,但我不能让他们正确地出现

下面是我所做工作的一个例子:

<h2>AccountScreen</h2>

  <table>
    <tr>
      @Html.Partial("CustomerInfoPartialView")
    </tr>
    <tr>
      @Html.Partial("BalancePartialView")
    </tr>
  </table>
AccountScreen
@Html.Partial(“CustomerInfoPartialView”)
@Html.Partial(“BalancePartialView”)
结果并不像我希望的那样,真是一团糟


我应该使用什么来堆叠我的局部视图,并能够以编程方式隐藏/显示它们?

如果要在视图中用C#隐藏/显示它们,您所要做的就是渲染它们或不渲染它们


如果您想在JavaScript中隐藏/显示它们,只需将它们放在
div
中,并使用
$(“您的div”).toggle()

正如人们所说,您应该使用
元素。您还应该为它们提供唯一的标识符,并根据需要使用jQuery来隐藏/显示。如果在渲染模型时具有可用的条件,则根据需要向每个元素添加可见/隐藏样式可能会更简单

@
{
    Html.Partial("CustomerInfoPartialView")
    ...
    Html.Partial("CustomerInfoPartialView")
}
然后在每个部分:

@{
    var classToUse = (myVisibleCriteriaBool) ? "visibleClass" : "hiddenClass";
}
<div id="UniqueNamePartialView" class="stackableDivs @classToUse">
    Your html stuff here
</div>


我会远离
toggle()
,因为它是。

为什么不
s?我不确定我在这里看到了一个明确的问题。我同意div似乎更好,但如果要使用表,需要确保它是有效的HTML。如果其中一个被隐藏,则只剩下
(缺少
td
)。
$($('#UniqueNamePartialView").hide()); 
$($('#UniqueNamePartialView").show());