2012-04-08 83 views
0

控制我有以下代碼:ASP.NET是指從.aspx文件

<html xmlns="http://www.w3.org/1999/xhtml"> 

<body style="height: 1336px"> 
<input type="hidden" id="loadingtime"/> 
. 
. 
. 
. 
</body> 
</html> 

和Code.cs文件是:

using System; 
using System.Collections.Generic; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Diagnostics; 

public partial class _Default : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 
    protected void Button1_Click(object sender, EventArgs e) 
    { 
     string s = ""; 
     HiddenField t = (HiddenField)Page.FindControl("loadingtime"); 
     s = t.Value; 
     Response.Write("<script language='javascript'>alert('It took : " + s + "')</script>"); 
    } 
} 

我得到錯誤 任何想法?

編輯: 以上問題已成功解決 現在,當我檢索加載時間的值,值爲空字符串。任何人都可以解決這個問題嗎? enter image description here

+0

錯誤???????? – 2012-04-08 10:29:01

+0

NullReference ... – Kameron 2012-04-08 11:12:51

回答

4

你輸入應該有RUNAT =「服務器」,使其能夠被ASP.NET解析運行時即

<input type="hidden" runat="server" id="loadingtime"/> 

然後,您可以參考對照,你通常會使用後面的代碼:

HiddenField t = (HiddenField)loadingtime; 

,只要它不裹在另一個服務器中控制,例如一個asp:中繼器在這種情況下,就需要使用遍歷控制層次

的替代方法
+0

異常消失...但我無法獲得加載時間的「值」...我試過document.getElementById(「loading time」)。在JavaScript中,值爲 ,它工作得很好。但我不能在asp.net中得到這個由 System.Web.UI.HtmlControls.HtmlInputHidden t =(System.Web.UI.HtmlControls.HtmlInputHidden)Page.FindControl(「loading time」); s = t.Value; Response.Write(「」); 它給空白!任何想法? – Kameron 2012-04-08 11:19:20

+0

@ Royi Namir:如何解決問題? – Kameron 2012-04-08 11:34:16

+0

@Kameron你看到's = t.Value的值;'? – 2012-04-08 11:37:05