【问题标题】:ASP.NET page won't remove UI elementsASP.NET 页面不会删除 UI 元素
【发布时间】:2010-04-20 14:28:35
【问题描述】:

我正在使用一个 aspx 页面,一旦我单击一个按钮,就会在后台执行一些调用,并在网页上显示返回的信息。我通过将此信息添加到面板来做到这一点:

panel.controls.add(label)
panel.controls.add(anotherpanel)

问题是,一旦我再次单击该按钮,并且我从后台调用了一些新对象,UI 元素(那些标签和面板)仍然保持可见,并且我的新信息只是添加到前一个之后。

一旦按下新按钮,我希望所有以前的信息都消失。

我试过panel.controls.clear(),但它什么也没做。

有什么想法吗?谢谢。

【问题讨论】:

  • 你在页面初始化之后调用 clear 吗?
  • 不,我在单击按钮后首先调用清除

标签: c# asp.net panel


【解决方案1】:

您是否尝试过设置断点并检查是否不是后台调用将先前的信息与新的信息一起返回?

我问是因为以编程方式添加的项目本身不应该在回发中持续存在。

【讨论】:

  • 有正确答案!我以为我实际上已经彻底检查过了,但现在我再次检查了它,是的,因为我使用的是单例 WCF 服务,所以每次调用时我都没有重新初始化一个值。谢谢。
【解决方案2】:

您可能希望在实际标记中声明labelanotherpanel,并将它们的visibility 设置为false。然后,只需将可见性设置为 true 并在获取结果时替换它们在代码隐藏中的值。

【讨论】:

  • 感谢克里斯的回答,但这无济于事,因为我不知道从后台调用中返回了多少对象。可以是 10 个字符串,但也可以是 100 个。这就是我必须在代码中创建面板和标签的原因。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-08
  • 2018-08-19
  • 2016-06-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多