디자인 뷰 렌더링 문제 해결
업데이트: 2007년 11월
Web Forms 디자이너에서 올바르게 렌더링될 수 없는 파일을 열려고 할 때 몇 가지 일반적인 문제가 발생할 수 있습니다. 작업 중인 파일이 원래 Visual Studio 외부에서 코드 숨김 Web Forms 페이지로 만들어진 파일일 경우 디자인 뷰 렌더링 오류가 가장 많이 발생합니다. 그러나 여러 가지 다른 상황에서도 이러한 오류가 발생할 수 있습니다. 일반적으로 이 문제는 Web Forms 페이지에 있는 @ Page 지시문이나 Web Forms 사용자 정의 컨트롤에 있는 @ Control 지시문의 특성과 관련이 있습니다.
![]() |
---|
Web Forms 디자이너는 작업 중인 파일과 같은 확장명을 갖는 파일용으로 등록된 편집기입니다. 이러한 파일에 대한 작업을 수행할 때 Web Forms 디자이너를 사용하지 않으려면 파일의 확장명을 변경하십시오. 또는 솔루션 탐색기에서 해당 파일을 마우스 오른쪽 단추로 클릭하고 연결 프로그램을 선택한 다음 다른 편집기를 선택합니다. |
Src 특성과 관련된 문제
@ Page 또는 @ Control 지시문에 Src 특성이 있을 경우 오류가 발생할 수 있습니다. 이 특성은 Web Forms 디자이너에서는 지원되지 않습니다. 이 오류를 해결하려면 다음을 수행합니다.
Src 특성을 제거합니다. 해당 위치에 다음을 추가합니다.
프로젝트에 있는 코드 숨김 파일의 이름을 참조하는 CodeBehind 특성
코드 숨김 파일로 표시되는 클래스 이름을 참조하는 Inherits 특성. 이 클래스는 System.Web.UI.Page 클래스에서 상속해야 합니다.
참고:
아직 코드 숨김 파일과 클래스가 없는 경우 Web Forms 디자이너에서 생성할 수 있습니다. Src 특성을 제거한 다음 Inherits 특성을 빈 문자열("")로 설정하고 CodeBehind 특성은 생성할 코드 숨김 파일의 이름(formname.aspx.vb 또는 formname.aspx.cs)으로 설정합니다. 파일을 저장하고 닫습니다. 솔루션 탐색기에서 .aspx 파일을 마우스 오른쪽 단추로 클릭하고 코드 보기를 선택합니다. 코드 숨김 파일을 저장하면 디자이너에서 적절한 클래스 파일을 생성합니다. 파일을 다시 열고 코드 숨김 파일에서 컨트롤을 추가하거나 컨트롤을 두 번 클릭하여 이벤트 처리기를 만드는 등의 코드 생성 작업을 수행한 다음 파일을 저장합니다. 그러면 디자이너에서 Web Forms 페이지의 Inherits 특성을 적절하게 설정합니다.
또는 Src, CodeBehind 및 Inherits 특성을 제거하고 해당 파일을 단일 파일 Web Forms 페이지로 처리할 수 있습니다. 자세한 내용은 Visual Studio .NET에서 단일 파일 Web Forms 페이지 작업을 참조하십시오.
CodeBehind 특성과 관련된 문제
@ Page 또는 @ Control 지시문의 CodeBehind 특성은 페이지에 대한 클래스를 포함하는 파일의 이름을 참조합니다. 예를 들어, Visual Studio에서 WebForm1이라는 Web Forms 페이지를 만들면 CodeBehind 특성은 WebForm1.aspx.vb 또는 WebForm1.aspx.cs를 가리킵니다.
CodeBehind 특성은 디자인 타임에만 사용되며 Web Forms 디자이너에서 사용자가 작업할 페이지 클래스의 인스턴스를 만들 수 있도록 디자이너에 페이지 클래스를 찾을 위치를 알려 줍니다.
CodeBehind 특성과 관련된 문제는 다음과 같습니다.
참조된 파일을 사용할 수 없습니다. 파일이 없거나 파일 이름이 다릅니다.
참조된 파일의 클래스가 프로젝트에서 참조되지 않는 기본 클래스에서 상속된 클래스입니다. 일반적으로 Web Forms 페이지의 클래스는 System.Web.UI.Page 클래스에서 상속되지만, 모바일 장치와 같이 다른 플랫폼을 위한 사용자 정의 컨트롤 또는 Web Forms 페이지에 대해 작업을 수행하는 경우에는 기본 클래스가 다를 수 있습니다.
참조된 파일의 클래스가 컴파일되지 않은 프로젝트의 기본 클래스에서 상속됩니다.
Inherits 특성과 관련된 문제
@ Page 또는 @ Control 지시문의 Inherits 특성은 해당 페이지가 런타임에 상속하는 클래스(파일이 아님)의 이름을 참조합니다. Web Forms 페이지의 상속 모델에 대한 자세한 내용은 Web Forms 코드 모델을 참조하십시오.
Inherits 특성과 관련된 문제는 CodeBehind 특성도 없을 경우에만 발생합니다. 예를 들어, 단일 파일 Web Forms 페이지에서 이러한 문제가 발생할 수 있습니다. CodeBehind 특성이 없는 경우에만 디자이너에서는 Inherits 특성에서 참조하는 클래스를 사용하여 디자인 타임에 페이지 인스턴스를 만듭니다.
![]() |
---|
CodeBehind 특성이 있으면 디자이너에서는 Inherits 특성이 사용할 수 없는 클래스를 가리키고 있더라도 Inherits 특성을 무시합니다. 이 경우 디자이너에서 해당 페이지에 대해 작업할 수는 있지만 페이지가 실행되지는 않습니다. |
Inherits 특성과 관련된 가장 일반적인 문제는 이 특성이 프로젝트 또는 참조되는 어셈블리에서 사용할 수 없는 클래스를 가리키는 것입니다.