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

오류 ???????? –

+0

NullReference ... – Kameron

답변

4

귀하의 입력 RUNAT는 = "서버"그것이 ASP.NET에 의해 구문 분석 할 수 있도록해야한다 런타임 즉

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

그런 다음 컨트롤을 참조 할 수있는 당신 것 일반적으로 사용 뒤에 코드 : 당신이 컨트롤 계층 구조

을 가로 지르는의 다른 방법을 사용할 필요가있는 경우에 중계기를 : AS LONG이 같은 ASP와 같은 다른 서버 컨트롤에 싸여되지 않는

HiddenField t = (HiddenField)loadingtime; 

+0

예외가 사라졌습니다 ...하지만 로딩 타임의 "가치"를 얻을 수 없습니다 ... document.getElementById ("loadingtime")을 시도했습니다. 자바 스크립트에서 값을 사용하면 정상적으로 작동합니다. 그러나 asp.net에서 이것을 얻을 수 없습니다. System.Web.UI.HtmlControls.HtmlInputHidden t = (System.Web.UI.HtmlControls.HtmlInputHidden) Page.FindControl ("loadingtime"); s = t.Value; Response.Write ("<스크립트 언어 = 'javascript'> 경고 ('걸렸습니다 :"+ s + "')"); 그것은 비어 있습니다 !!! 어떤 생각? – Kameron

+0

@ Royi Namir : 문제를 해결하는 방법? – Kameron

+0

@ Kameron's = t.Value;의 값을 보시겠습니까? –