标签ID正在改变,如何解决这个问题?

时间:2012-07-06 05:32:58

标签: javascript asp.net

我的页面中有这个asp:标签,我想要的是不时更改文本。但是当我运行代码时,标签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.");
    }
}

谢谢

1 个答案:

答案 0 :(得分:1)

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

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

如果您使用的是.Net framework 4或更高版本,请在aspx页面中ClientIDMode

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