2012-07-06 50 views
0

我在我的頁面中有這個asp:標籤,我想要的是不時更改文本。但是,當我運行代碼時,標籤ID在不斷翻頁。它被附加了「ctl00_bh_」的東西...標籤ID正在改變,如何解決這個問題?

如何解決這個問題?

這裏是我的代碼片段。

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

在你的JavaScript您試圖訪問服務器端控件,您需要使用客戶端ID,嘗試

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

或者ClientIDMode在aspx頁面,如果你正在使用。網絡框架4或更高版本

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

第二個作品...謝謝 – user1120260 2012-07-06 05:46:08

+1

@ user1120260,y歡迎您,如果合適,您可以接受答案。請參閱[接受答案的工作方式?](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) – Habib 2012-07-06 05:48:18