2011-05-15 4 views
1

이 오류가 발생합니다. "이름 'lblHelloWorld'이 현재 컨텍스트에 없습니다." 어떻게 고칠 수 있니?레이블이 현재 컨텍스트에 존재하지 않습니다.

<%@ Page Language="C#" AutoEventWireup="True" Inherits="_Default"  Codebehind="Default.aspx.cs" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0  Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head id="Head1" runat="server"> 
<title>Hello, world!</title> 
</head> 
<body> 
<form id="form1" runat="server"> 
    <asp:ScriptManager ID="MainScriptManager" runat="server" /> 
    <asp:UpdatePanel ID="pnlHelloWorld" runat="server"> 
     <ContentTemplate> 
      <asp:Label runat="server" ID="lblHelloWorld" Text="Click the button!" /> 
      <br /><br /> 
      <asp:Button runat="server" ID="btnHelloWorld" OnClick="btnHelloWorld_Click" Text="Update label!" /> 
     </ContentTemplate> 
    </asp:UpdatePanel> 
</form> 

using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

namespace ajaxTesting 
{ 
public partial class _Default : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 
    protected void btnHelloWorld_Click(object sender, EventArgs e) 
    { 
     lblHelloWorld.Text = "Hello, world - this is a fresh message from ASP.NET AJAX! The time right now is: " + DateTime.Now.ToLongTimeString(); 
    } 
} 
} 

나는 청소 rebuliding 시도; designer.cs 파일을 삭제하고 다시 만들었지 만 사용하지 못했습니다.

+0

그리고 Label을 UpdatePanel 외부에 배치하면 작동합니까? –

+0

아니요 아직 작동하지 않습니다 – vatspoo

+0

답변 [여기] (http://forums.asp.net/t/1006588.aspx/1?The+name+xxx+Does+Not+Exist+in+the+Current? + Context)도 문제를 해결할 수 있습니까? –

답변

1

designer.cs 파일에 문제가 있다고 생각합니다.이 라벨에 대한 참조를 designer.cs 파일에 수동으로 추가하십시오.

편집 : 코드 개정 후

문제는 name space입니다.

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="ajaxTesting._Default" %> 
+1

내가 확인했습니다. 참조 파일에 – vatspoo

+0

답변을 편집 해보십시오. –

+1

안녕하세요. u가 문제를 제기 했어. 고마워요 :) – vatspoo

0

1 단계 :

이하여 라인을 교체 문제 ::

를 해결하려면

복사를 영문 양식, 코드 숨김 및 디자이너 파일을 해제하고 다시 작성 복사하여 붙여 넣기하여 양식을 다시 작성하십시오.

2 단계 :

1 단계가 해결되지 않으면 : Visual Studio에서, 편집으로 이동 -> 찾기 및 바꾸기 -> 파일에서 찾기와 같은과 컨트롤에 대한 프로젝트 내에서 검색 이름.

단계 3

은 Visual Studio 및 모든 브라우저를 닫습니다. 일시적으로 IIS를 중지하고 (경로 컴퓨터에 다를 수 있습니다) 임시 ASP.NET 파일 폴더로 이동 :

C : \ WINDOWS \ Microsoft.NET 프레임 워크 \ \ v4.0.30319 임시 \ ASP.NET 파일

여기에서 사이트 폴더의 모든 항목을 맨 아래부터 삭제하기 시작합니다 (ACL 폴더 권한 제한이 적용될 수 있으므로).

IIS를 다시 시작하고 이전 단계 중 하나 또는 모두를 시도한 후에 다시 시도하십시오.

0

최선의 해결책은 다음과 같습니다

  1. 프로젝트에서 새로운 aspx 페이지를 만들고 <body> and </body>
  2. 사이에 코드의 모든 라인을 복사합니다.
  3. <body> 태그를 복사 한 것으로 바꿉니다.
  4. 마찬가지로 .cs 파일의 코드를 복사하여 붙여 넣으십시오.

이 문제가 해결되어야한다고 생각합니다.

0

내가 가진 또 다른 가능성 :

당신의 .cs 파일을 복제 예를 들어 경우 점점 "하여 default.aspx.cs을"중복 "을 Default.aspx - Copy.cs을"(지금 당신이 가지고있는 두 동일한 폴더에있는 파일), 결과는 다음과 같습니다. 파일이 프로젝트 파일 목록에 나타납니다. 복사 된 파일을 프로젝트에서 제외해도 같은 폴더에 파일을 남겨 두어도 문제가 해결되지 않습니다.

이 문제를 방지하려면 프로젝트 폴더에서 복사 된 파일을 제거하십시오.

0

다른 사람으로부터 소스 파일을 가져온 후에이 문제가 발생했습니다. 얼마 지나지 않아 나는 designer.cs 파일이 없음을 발견했습니다.

이어서, this 용액이 뒤 따른다. 특히 "웹 응용 프로그램으로 변환"에 관한 부분. 그게 내 속임수 였어!

0

나는 asp.net 웹 사이트 (3.5)에서 이와 동일한 문제에 직면했다. 나의 경우에는 동일한 파일의 사본이 두 개인 경우가 있었다.

  1. Compute.aspx
  2. Compute_backup.aspx

나는 웹 사이트에서 # 2 파일을 제외하고 나를 위해 일했다.

관련 문제