문제

작업 중인 웹 응용 프로그램이 있습니다(C#이 포함된 ASP.NET2.0, VS2005 사용).모든 것이 잘 작동하고 있었는데 갑자기 오류가 발생했습니다.

Error 1 The name 'Label1' does not exist in the current context

그리고 페이지의 코드 숨김에서 컨트롤을 사용할 때마다 43개의 다른 종류가 있습니다.

이는 1페이지에서만 발생합니다.그리고 마치 코드 숨김이 컨트롤을 인식하지 못하는 것과 같습니다.또 다른 흥미로운 점은 인텔리센스가 어떤 컨트롤도 선택하지 않는다는 것입니다.

솔루션 파일을 정리하고, obj 파일을 삭제하고, 프로젝트에서 파일을 제외하고, 다시 추가하고, VS를 닫고 다시 시작하고, 컴퓨터를 다시 시작하려고 시도했지만 이들 중 어느 것도 작동하지 않았습니다.

도움이 되었습니까?

해결책

파일 이름 뒤에 코드를 확인하고 @Page 지시문에서 속성을 상속받은 다음 둘 다 일치하는지 확인하십시오.

다른 팁

나는 이것이 오래된 질문이라는 것을 알고 있지만, 비슷한 문제가 있었고 다른 사람에게 도움이 될 수있는 경우 솔루션을 게시하고 싶었습니다. 사용법을 배우면서 문제가 발생했습니다.

  • ASP.NET 3.5
  • 씨#
  • vs2008

Ajax 지원 페이지를 만들려고했습니다 (이에 익숙하지 않은 경우 ScriptManager 객체 사용에 대한 튜토리얼을 살펴보십시오). C# 코드를 통해 페이지의 HTML 요소에 액세스하려고했는데 HTML ID 값에 대한 식별자가 "현재 컨텍스트에 존재하지 않는다"는 오류가 발생했습니다.

그것을 해결하기 위해 다음을 수행해야했습니다.

1. 서버에서 실행하십시오

C# 코드의 변수로 HTML 요소에 액세스하려면 ASPX 파일의 HTML 요소 태그에 다음 값을 배치해야합니다.

runat="server"

Visual Studio IDE의 도구 상자의 일부 객체는 페이지에 추가 할 때이 값을 자동으로 포함하지 않습니다.

2. 자동 생성 된 C# 파일 재생 :

  • 솔루션 탐색기에는 ASPX 파일 아래에 두 개의 파일이 있어야합니다. *.aspx.cs 및 *.aspx.designer.cs. 디자이너 파일은 자동으로 생성되었습니다.
  • 기존 *.aspx.designer.cs 파일을 삭제하십시오. 만 삭제하십시오 디자이너 파일. 페이지의 C# 코드가 포함되어 있으므로 다른 하나를 삭제하지 마십시오.
  • 부모 ASPX 파일을 마우스 오른쪽 버튼으로 클릭하십시오. 팝업 메뉴에서 선택하십시오 웹 응용 프로그램으로 변환.

이제 C# 코드 파일에서 요소에 액세스 할 수 있어야합니다.

동일한 코드-비만 파일 (예 : 복사 및 붙여 넣은 이전 페이지)을 참조하는 다른 페이지를 제외하십시오.

나는 같은 문제가 있었다. 프로젝트에 "mypage.aspx"와 "mypage.aspx의 사본"이 모두 있음이 밝혀졌습니다.

또한 우연히 다른 파일과 동일한 (부분) 클래스를 상속하거나 정의하려고 시도하는 파일이 없도록하십시오. 이 파일은 오류가 실제로 나타난 파일과 관련이없는 것처럼 보일 수 있습니다!

WPF 오류를 제외하고는이 같은 오류에 부딪쳤다. 나는 프로젝트를 재정렬하고 있었고 다음과 같이 통제를 정의했습니다.

<local:CustomControl Name="Custom" /> 

내 코드에서 나는 custom.blah를 사용해 보았지만 오류가 발생했습니다.

The name 'Custom' does not exist in the current context

저를위한 트릭은 XAML에서의 제어를 이것으로 바꾸는 것이 었습니다.

<local:CustomControl x:Name="Custom" />

이것이 누군가를 도울 수 있기를 바랍니다!

데이터 컨텍스트를 변경한 후에도 동일한 오류가 발생합니다.그러나 나는 익숙하지 않은 것을 만난다.나는 내 파일을 수동으로 게시하는 데 익숙해졌습니다.일반적으로 그렇게 하면 게시 폴더에 App_Code 폴더가 나타나지 않습니다.하지만 저는 귀하의 도움을 받아 웹 서버에 직접 게시하는 VS 12 게시를 사용하기 시작했습니다.그런 다음 미리 컴파일된 응용 프로그램에 대한 오류가 발생합니다.그런 다음 작동했던 app_code 폴더를 삭제했습니다.그런데 당신이 받고 있는 데이터 컨텍스트 오류가 나에게 발생했습니다.그래서 모든 파일을 삭제하고 파일 제한 없이 게시를 다시 실행하면(모든 폴더 및 파일이 게시됩니다) 정말 매력적으로 작동했습니다.

같은 문제가 있었는데 내 문제는 두 속성 사이에 공간이 없었습니다. "

AutoGenerateColumns="False"DataKeyNames="ProductID"

대신에

AutoGenerateColumns="False" DataKeyNames="ProductID"

현재 파일을 백업하여 현재 ASPX (및 하위 페이지)를 삭제하고 새 페이지를 만들고 백업 파일의 내용을 새 파일에 복사하여 프로젝트 에서이 문제를 해결했습니다.

이 오류는 종종 놓칠 때 발생합니다 runat="server" .

솔루션 옵션 #2 위에 제공된 Wewnse Forms Applications와 Web ASPX 애플리케이션이 작동합니다. 웹 애플리케이션에서 비슷한 오류가 발생했는데 동일한 이름으로 사용자 컨트롤이있는 파일을 삭제 하여이 문제를 해결했습니다.이 ASPX 파일은 실제로 백업 파일이었고 프로세스의 어느 곳에서나 참조되지 않았지만 여전히 오류가 발생했습니다. 백업 파일에 등록 된 사용자 컨트롤의 이름은 프로세스 흐름에서 참조 된 ASPX 파일에서 정확히 동일합니다. 따라서 백업 파일과 구축 솔루션을 삭제했으며 빌드가 성공했습니다.

이것이 비슷한 시나리오에서 어떤 것도 도움이되기를 바랍니다.

Vijaya Laxmi.

Visual Studio 2010 프로젝트에서 ASPX 파일을 다시 제작하기 위해 동일한 문제가 있었으므로 Controls는 ClientIdMode = "STATIC"속성을 가졌습니다. 이것이 제거되면 해결되었습니다.

데이터 주의자로부터 전환 한 후 리피터로 조정할 때 비슷한 문제가있었습니다.

문제는 불필요한 하나를 삭제할 때 실수로 2 속성을 통합했다는 것입니다.

<asp:Repeater runat="server" ID="ClientsRP"DataSourceID="ClientsDS">
    .
    .
    .
</asp:Repeater>

그리고 이것은 디자인 파일에서 리피터의 생성을 막았습니다.

동일한 오류 메시지가있었습니다. 내 코드는 오류가없고 완벽하게 작동 한 다음, 다시 버튼 중 하나의 이름을 바꾸기로 결정했고 갑자기 컨트롤이 현재 컨텍스트에 존재하지 않는다고 말하는 파란색 스쿼시 밑줄과 함께 컴파일 오류를 제공합니다.

문제는 내가 ASPX.CS 클래스로 만든 백업 파일과 관련이 있었기 때문에 Visual Studio가 멍청한 것으로 나타났습니다. 나는 그것들을 삭제했고 오류가 사라졌습니다.

나는이 같은 문제에 부딪쳤다. 분명히, 당신은 bll의 클래스를 .aspx/.aspx.cs 파일 중 하나와 같은 이름으로 호출해서는 안됩니다. 나는 그들이 같은 범위에 있지 않을 것이라고 생각했지만 Visual Studio의 내부 작업이 너무 엉망이되었습니다. 나는 그것이 당신이 그런 유형의 오류를 생성 할 경우이 일을하지 못하게 할 것이 없다는 것에 약간 놀랐습니다. 어쨌든 .aspx/.aspx.cs 파일을 삭제하고 프로젝트를 재건하십시오. 그런 다음 다른 이름으로 다시 가져 오십시오. 모든 것을 다시 입력하지 않으려면 코드를 다른 편집기에 복사/붙여 넣을 수 있습니다.

제 경우에는 웹폼을 만들 때 WebForm1.aspx로 이름을 짓고 각각의 이름(WebForm1)을 지정했습니다.Letter, 이름을 다른 것으로 바꿨습니다.거의 모든 곳에서 수동으로 이름을 변경했지만 디자이너 파일의 한 곳은 여전히 ​​'WebForm1'으로 표시되었습니다.

나도 그것을 변경하고 이 오류를 제거했습니다.

1) "filename.aspx"페이지에서 < %@page codefile = "filename.aspx.cs" %>에서 codefile 속성을 확인하십시오. 파일 이름 뒤에 코드가 동일해야합니다.

2) 코드에서 runat = "Server"를 놓칠 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top