0

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

pv1 pv2

pv3 pv4

pv5 pv6

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

我尝试使用一张桌子,但我无法让它们正确显示。

这是我所做的一个例子:

<h2>AccountScreen</h2>

  <table>
    <tr>
      @Html.Partial("CustomerInfoPartialView")
    </tr>
    <tr>
      @Html.Partial("BalancePartialView")
    </tr>
  </table>

结果并没有像我希望的那样,一团糟。

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

4

2 回答 2

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()因为它已被弃用

于 2012-11-08T18:32:31.550 回答
0

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

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

于 2012-11-08T18:25:43.260 回答