0

방금 ​​VS 2010으로 전환하고 이전 프로젝트를 업그레이드했습니다. 그 중디자인 모드에서 ASP.net 오류가 발생했습니다.

Error Creating Control - ObjectName 
Object reference not set to an instance of an object. 

하나는 간단한 레이블이고, 다른 하나는 아약스 업데이트 패널입니다 : 나는이 컨트롤에 대한 디자인 모드에서 페이지에 다음과 같은 오류를 받고 있어요. 다른 페이지는 괜찮아 보입니다. 앱을 빌드하고 테스트 할 때 페이지가 브라우저에서 잘 렌더링되어 잘 작동합니다. 레이블 기능이 예상대로 작동하고 업데이트 패널의 내용이 예상대로 작동합니다.

이 오류가 발생하는 이유는 무엇입니까? 나는 아무 쓸모없는 구글 결과 중 일부를 시도했다. 이 문제를 해결하는 것이 좋을 것 같습니다.

감사합니다.

+0

이러한 서버 컨트롤이 있습니까? – MyItchyChin

+0

나는 그렇게 생각한다. runat = "server"를 그들에게 설정했다. – stringo0

답변

1

이 오류는 Visual Studio의 디자이너가 서버 컨트롤이나 복합 컨트롤의 인스턴스를 인스턴스화 할 때 발생할 수 있습니다. 아직 초기화되지 않은 컨트롤 내의 객체에 매핑 할 수있는 읽을 수있는 속성을 읽으려고 시도합니다. 사용자 지정 서버 컨트롤이있는 경우 기본 컨트롤 호출의 CreateChildControls 메서드를 재정의해야하며 내부에서 속성이 종속 된 개체를 초기화 한 다음 속성에서 기본 EnsureChildControls 메서드를 호출합니다.

이렇게하면 컨트롤의 모든 종속 개체가 참조되기 전에 초기화됩니다.

+1

흠 - 내가 왜이 라벨을 사용하는지에 대한 아이디어 : Ajax 업데이트 패널, 등, 그리고 페이지에서 하나의 사용자 정의 컨트롤을 잘 다른 페이지에서 디자이너에서 볼 때 표시합니다. 이것은 VS 2008에서 다른 컴퓨터에서 보았 기 때문에 약간 혼란 스럽습니다. 나는 이것이 내가 간과 할 수도있는 사소한 것일 수도 있다고 생각한다. 나는 잘 나타난 것처럼 페이지를 바꾸지 않았다. 어쩌면 VS 2010에는 더 엄격한 표준이 있습니까? – stringo0