2012-04-08 47 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