0

我的页面中有这个 asp:label,我想要不时更改文本。但是当我运行代码时,标签 id 会在页面之间发生变化。它被附加了“ctl00_bh_”的东西......

如何解决这个问题?

这是我的代码片段。

protected void Page_Load(object sender, EventArgs e)
{
     Page.ClientScript.RegisterStartupScript(this.GetType(), "onLoad", "DisplaySessionTimeout()", true);
}

<asp:Label ID="lblSessionTime" runat="server" />

function DisplaySessionTimeout() {
    document.getElementById("lblSessionTime").innerHTML = "updating text here";
    sessionTimeout = sessionTimeout - 1;
    if (sessionTimeout >= 0)
        window.setTimeout("DisplaySessionTimeout()", 1000);
    else
    {
        alert("Your current Session is over.");
    }
}

谢谢

4

1 回答 1

1

在您尝试访问服务器端控件的 Javascript 中,您需要使用 ClientID,尝试

document.getElementById("<%= lblSessionTime.ClientID%>").innerHTML ="updating text here";

如果您使用的是 .Net 框架 4 或更高版本,则为 aspx 页面中的ClientIDMode

<asp:Label ID="lblSessionTime" runat="server" ClientIDMode="Static" />
于 2012-07-06T05:34:32.553 回答