我的页面中有这个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.");
}
}
谢谢
答案 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" />