비주얼 스튜디오에서 추가되었다. .designer.cs 파일이 없으면 .aspx.cs CodeBehind 파일의 모든 .aspx 페이지 컨트롤은 "현재 컨텍스트에 존재하지 않습니다"라는 오류를 반환합니다. .designer.cs의 연결은 .aspx.cs CodeBehind 파일의 네임 스페이스 및 클래스와 함께 aspx 파일의 @ Page 지시문의 "Inherits"속성을 기반으로 수행됩니다. "상속"속성의 마지막 부분은 CodeBehind 파일과 .designer.cs 파일에 정의 된 클래스와 일치해야하며 앞에있는 세그먼트는 .designer.cs 및 CodeBehind 파일의 네임 스페이스와 일치해야합니다.
예 : myfile.aspx
<%@ Page Language="C#"
AutoEventWireup="true"
CodeBehind="myfile.aspx.cs"
Inherits="my.namespace.dot.classname" %>
myfile.aspx.cs
namespace my.namespace.dot {
public partial class classname : Page { ... }
}
참고 숨김 파일 클래스는 페이지 클래스에서 상속 또는 그의 일부 유도체한다.
myfile.designer.aspx.cs
namespace my.namespace.dot {
public partial class classname { ... }
}
참고 : .designer.cs 클래스는 클래스 이름은 코드 숨김과에서 .aspx 파일과 일치 다만, 상속에 대해 상관하지 않는다. 라는 이름에서 .aspx 및 .aspx.cs 파일 "로 같은 디렉토리에서 새로운 빈 파일을 만듭니다
- :
는이 같은 손실 .designer 파일 (w3cgeek.com"Regenerate designer.cs ")를 재생성 할 수 있습니다 myfile.aspx.designer.cs "여기서"myfile "은 연결할 .aspx 및 .aspx.cs 파일의 이름입니다.
- 빈 클래스가있는 네임 스페이스를 새 파일에 추가하고 해당 이름이 연결하려는 .aspx 및 .aspx.cs 파일에 지정된 네임 스페이스 및 클래스와 일치하는지 확인하십시오.
- .designer.cs 파일을 저장하고 .aspx 파일을 변경하고 (예 : 공백 추가) .aspx 파일을 저장합니다.
Visual Studio는 .designer.cs 파일을 .aspx 및 CodeBehind 파일을 연결하는 데 필요한 모든 코드로 자동 채워야합니다. "현재 컨텍스트에 존재하지 않습니다"오류가 사라졌습니다.
편집 : 링크가 원래 p.campbell에 의해 게시 되었기 때문에 .designer.cs 지침을 추가했습니다.
응답 해 주셔서 감사합니다.하지만 수동으로 페이지의 디자이너 파일을 다시 작성하도록 요청할 수 있습니까? – bAN
@ban : 디자이너 파일을 재생성하는 방법은 다음과 같습니다. http://www.undermyhat.org/blog/2009/07/tip-regenerate-aspx-designer-cs-files-when-corrupted/ –