2010-04-21 3 views
0

저는 .NET n00b입니다. 기본적으로 내가하려는 것은 텍스트 상자가있는 페이지와 이미지 단추가 있다는 것입니다. 이미지 버튼을 클릭하면 설정 한 뷰 컨트롤이 표시됩니다. 이 뷰 컨트롤 내부에는 이미지와 일부 텍스트가 있습니다. 이것이 제가 코드 숨김에있는 것입니다.보기 제어 내의 ASP.Net 예외

protected void btnSubmit_Click(object sender, ImageClickEventArgs e) 
    { 
     string email = txtUnsubscribe.Text; 
     vwSuccess.Visible = true; 
    } 

간단한 오른쪽? 그럼 제출 버튼을 클릭하면 "객체 참조가 객체의 인스턴스로 설정되지 않습니다."라는 메시지가 나타납니다. 에러 메시지. 내가 어디로 잘못 가고 있니?

+0

더 많은 코드를 게시 할 수 있습니까? 위의 예에서 문제가 어디인지는 분명하지 않습니다. – Alex

+0

txtUnsubscribe가보기 컨트롤 안에 있습니까? 귀하의 설명에서 그것은 사실이 아닌 것으로 보입니다 ... –

답변

0

txtUnsubscribe와 vwSuccess가 모두 null이 아닌가요? 디버거에서 단계별 실행을 시도 했습니까?

0

정보에 따르면 (즉, 많지 않음에 따라) 나는 실행 명령에 문제가 있다고 생각합니다.

txtUnsubscribe 및 vwSuccess 멤버가 있으므로이 멤버를 어딘가에 초기화한다고 가정합니다. aspx 템플릿에서 자동 생성 된 경우 이벤트 처리 전에 자동으로 초기화되어 메서드가 null 참조 예외를 throw하지 않습니다.

경우 null 참조 예외는 이벤트 핸들러 의해 발생 후 이들 변수 중 하나가 그들 중 적어도 하나를 대신한다 영문로부터 자동 생성되지 않고 있음을 의미한다 (초기화되지 않은 것을 의미해야한다 수동으로 초기화하십시오.) 이 변수를 초기화하는 인 경우 PreRender 또는 Render과 같은 이벤트가 너무 늦은 것 같습니다.

브라우저에서 버튼을 클릭하면 브라우저가 웹 서버에 대한 포스트 백을 수행합니다. 기본적으로이 시점에서 웹 서버는 페이지를 다시 구성하고 이벤트 처리를 수행 한 다음 다시 클라이언트로 렌더링합니다. 페이지가 요청간에 서버에 유지되지 않는다는 것을 인식하는 것이 중요합니다.

페이지로드시 이벤트의 순서는/포스트 백은 MSDN에서 찾을 수 있습니다 : http://msdn.microsoft.com/en-us/library/aa719775(VS.71).aspx 물론

예외가 해당 이벤트 핸들러에 의해 슬로우되어 있지 않은 경우,이 모든 대답은 잘못 될 가능성이 높습니다 일부가 아마 간단한 문제.