【问题标题】:How to: Make ASP.net labels display dynamically on page如何:使 ASP.net 标签在页面上动态显示
【发布时间】:2014-07-18 06:39:43
【问题描述】:

如何使 ASP.net 标签动态显示,也就是说,它们在不使用时不应占用任何空白。

我在表单底部有很多错误消息标签,这些标签设置为保持隐藏状态,直到用户在其中一个文本框上出错(未通过验证)。这行得通,它们仍然隐藏;但是,它们仍然占用各自的空白区域,这导致表单看起来很愚蠢和不专业,因为页面中间有很大的空白区域。

我想让它们出现,并且只根据需要占用空间,希望将它们设置为出现在 javascript 或我的 vb.net 代码隐藏中。欢迎创造性的解决方案。

对不起,如果这是一个 google-it 类型的问题,我确实努力在网上找到它,但我的 googlefu 并不强大。

【问题讨论】:

  • 将整块label放到一个div中,隐藏div,验证失败时显示div
  • 嘿,谢谢 Karthik。我不确定这是否会使空白消失,但值得一试。
  • 当你需要 display:none 时,听起来你在 CSS 中使用 visibility:hidden
  • jQuery 的hide 函数相当于display:none,在这种情况下,元素不应该仍然存在于页面流中。当标签被隐藏时,必须有其他东西保留该空间。
  • jBall 的答案是正确的。

标签: javascript jquery asp.net vb.net


【解决方案1】:

我认为最好的方法是用文字替换 asp.net 标签并用 div 包装文字。然后,您可以隐藏或显示 div。你不需要 br 标签。

【讨论】:

  • 是的,这是显而易见的解决方案之一,但仍然是一个很好的解决方案。我认为这是我必须将其列入我的清单以至少尝试看看它是否有效的事情之一。感谢您的回复。
【解决方案2】:

用于验证消息的一个很好的控件是验证摘要控件。在您后面的代码中,您可以添加自己的错误以及一些自动验证(即必填字段等)

【讨论】:

  • 谢谢 Zdravko,我不知道这个控件。现在我正在使用 jQuery 来显示/隐藏每个标签,但也许这是要走的路。我在后面的代码中有很多东西(服务器端验证)和很多东西在页面代码中(客户端javascript验证),所以也许这是清理它的方法。
  • asp.net 附带的验证框架非常强大,绝对值得研究(尤其是如果您正在使用 asp.net)。您会发现通常只需很少的代码,您就可以以简单且一致的方式进行大量验证。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-10
  • 2018-05-02
  • 2021-11-16
相关资源
最近更新 更多