我有一个更新面板中的asp:Label,我需要从服务器应用程序和客户端Javascript进行更新。我可以通过设置label.innerHTML在第一次UpdatePanel刷新之前更新标签。服务器在面板更新期间正确更改标签。更新后,从客户端Javascript设置label.innerHTML不再更改浏览器中显示的值。如何在更新后更改UpdatePanel中的asp:Label内容?
如何在UpdatePanel更新后找到标签以继续从Javascript更新它?
我有一个更新面板中的asp:Label,我需要从服务器应用程序和客户端Javascript进行更新。我可以通过设置label.innerHTML在第一次UpdatePanel刷新之前更新标签。服务器在面板更新期间正确更改标签。更新后,从客户端Javascript设置label.innerHTML不再更改浏览器中显示的值。如何在更新后更改UpdatePanel中的asp:Label内容?
如何在UpdatePanel更新后找到标签以继续从Javascript更新它?
由于标签被替换为新的DOM元素,所以在UpdatePanel刷新在刷新后不再有效之前,您获得的对DOM元素的引用可能是document.getElementById
。因此,您需要获取对此元素的新引用,并将innerHTML设置为此新引用。
事件可能是这样的
var label = document.getElementById('some_label'); label.innerHTML = 'abc';
label.innerHTML
不再适用于标签。你需要在这里重复步骤1)。当UpdatePanel刷新时,DOM元素将被替换。任何对前一个DOM元素的引用都不再可用,它们引用已删除且不再存在的DOM元素。您需要先找到替换的DOM元素,然后才能访问其属性。您可以使用document.getElementById('label')或使用jQuery $('#label')来做到这一点,假设您已经给它起了名字label
。