如何更新asp:更新后UpdatePanel中的标签内容?

时间:2009-11-15 13:15:21

标签: asp.net updatepanel label

我在更新面板中有一个asp:Label,我需要从服务器应用程序和客户端Javascript更新。我可以通过设置label.innerHTML在第一次UpdatePanel刷新之前更新标签。服务器在面板更新期间正确更改标签。更新后,从客户端Javascript设置label.innerHTML不再更改浏览器中显示的值。

如何在UpdatePanel更新后找到标签以继续从Javascript更新它?

2 个答案:

答案 0 :(得分:3)

由于标签被替换为新的DOM元素,因此在刷新之后,您在UpdatePanel刷新之前可能使用document.getElementById获得的DOM元素的引用不再有效。因此,您需要获取对此元素的新引用,并将innerHTML设置为此新引用。

事件可能如下所示

  1. var label = document.getElementById('some_label'); label.innerHTML = 'abc';
  2. UpdatePanel是trigerred,它取代了DOM中的标签
  3. label.innerHTML不再有效。你需要在这里重复步骤1)。

答案 1 :(得分:2)

UpdatePanel刷新时,DOM元素正在被替换。您对前一个DOM元素的任何引用都不再可用,它们引用已删除但不再存在的DOM元素。在您能够访问其属性之前,您需要找到替换DOM元素。您可以使用document.getElementById('label')或jQuery,$('#label')来执行此操作,假设您已将其命名为label