문제

내 aspx 페이지에 다음 코드가 있습니다.

 <asp:Button runat="server" ID="myButton" Text="hello" />

내 코드 뒤에는 다음이 있습니다.

protected void Page_Load(object sender, EventArgs e)
{ 
    myButton.Text = "bye"; 
}

어떤 이유로 Intellisense는 뒤에 있는 코드에서 "myButton" ID를 선택하지만 컴파일할 때 다음과 같이 표시됩니다.

인식하지 못하기 때문에 빌드할 수 없습니다!

내 페이지는 마스터 페이지를 사용하는 기본 aspx 페이지이며, 버튼은 콘텐츠 컨트롤 내에 있고 모두 서버에서 올바르게 실행되도록 설정되어 있으며, 이 버튼 해결 문제를 제외하고는 페이지가 제대로 실행되고 표시됩니다!

어떤 아이디어가 있나요?

도움이 되었습니까?

해결책

디자이너 파일 (pagename.designer.cs)이 약간 엉망이 된 것 같습니다. 페이지에서 버튼을 삭제하고 다시 추가 해보겠습니다.

다른 팁

버튼이 리피터처럼 이름 지정 컨테이너 안에 있으면 그렇게 사용할 수 없습니다. 대신, 당신은 다음과 같은 일을해야합니다.

Button myButton = (Button)Container.FindControl("myButton");
myButton.Text = "bye";

나는 같은 문제를 겪었습니다. 먼저 Designer.cs 파일에 무엇이 잘못되었는지 알아 내려고했습니다. 그러나 내 웹 폼 마크 업에 대해 기본 웹 형태에서 복사/붙여 넣기를 사용하고 있음을 깨달았습니다. 따라서 문제는 Protector와 마찬가지로 @Page의 상속 속성을 확인하십시오.

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
    CodeBehind="Default.aspx.cs" Inherits="InputValidation._Default" %>

이 경우에 대한 간단한 솔루션을 찾았습니다.

디자이너 파일을 열고 UI 컨트롤에 해당하는 줄을 추가하십시오.

protected global::System.Web.UI.WebControls.Button myButton;

어디에 Mybutton ~이다 Id 당신의 통제의.

나는 문제에 직면했고 그것을 알아 차렸다 Designer.cs 내 프로젝트에서 파일이 제외되었습니다.
프로젝트에 다시 포함 시키십시오.
행운을 빕니다

문제가 해결되었다는 것을 알고 있지만, 비슷한 문제가 있었을 때, 웹 aplication을 c#에서 vb로 변환했을 때 - 네임 스페이스 x / end namespace를 추가하여 이것을 해결했습니다.

오늘도 같은 문제가 있었고 제 경우 해결책은 다음과 같습니다.

  • 이동 : C:\Users\lenovo\AppData\Local\Temp\Temporary ASP.NET Files\
  • 삭제 Temporary ASP.NET Files 폴더.

나는 이 문제에 몇 번 직면했습니다.때로는 디자이너의 클래스 이름과 코드 숨김이 일치하지 않는 경우가 있습니다.다른 경우에는 네임스페이스가 일치하지 않는 경우도 있습니다.다른 경우에는 디자이너 페이지에서 멤버 변수가 생성되지 않습니다.

mdresser가 언급했듯이 디자이너 파일을 아주 잘 재생성하면 문제를 해결할 수 있습니다.먼저 aspx 페이지를 저장했는지 확인하세요.

실수로 동일한 (부분) 클래스를 상속하거나 정의하려고 시도하는 파일이 없는지 확인하십시오. 이 파일은 오류가 실제로 나타난 위치와 완전히 관련이 없을 수 있습니다!

오랜 시간이 걸렸습니다. Buuuut 나는 오늘이 같은 문제에 직면하고 있었기 때문에 너무 늦지 않은 것 같습니다. 나를 위해 그것은 일어났다 TextBox 이름이 아닌 형태 안에있었습니다. 그런 다음 ID를 양식으로 설정하고 에코를 사용할 수 있습니다. TextBox 이와 같이: idForm.idTextBox.ToString(). 나는 그것이 똑같이 일어날 것 같아 button.

문제는 CodeFile에 Page Directive Points에 동일한 CodeHind 파일이있는 여러 ASPX 파일이있을 수 있다는 것입니다. 동일한 컨트롤이 동일한 코드 뒤에 연결된 모든 ASPX 파일에 존재하여 컴파일 오류를 던지기를 기대합니다.

세 파일 모두에서 네임 스페이스를 확인하십시오. 때로는 Designer.cs 파일의 네임 스페이스 이름과 다른 두 파일 사이에 불일치가 있습니다. 세 파일 모두에서 그 이름 공간 이름 일치를 확인하십시오.

페이지 태그 아래에서 상속 속성을 변경하십시오

    <% Page inherit = "Project_Name.otherform" 

변경하십시오

    <% Page inherit = "Project_Name.YourForm"

그리고 당신은 form2.aspx.desginer.cs에 표시됩니다. 클래스 이름도 변경되고 수정됩니다.

설명하겠습니다 : 2 개의 웹 양식 test1.aspx 및 test2.aspx가 있다고 가정 해 봅시다. test1.aspx에서 test2.aspx로 일부 코드 조각을 복사했습니다. test2.aspx 파일은 <% page tag를 사용합니다.

    <% Page inherit = "Project_Name.test1"

그것은 다음과 같습니다.

    <% Page inherit = "Project_Name.test2"

이에 따라 Test2.aspx.designer.cs 클래스 이름은 시스템 생성 파일이므로 Test1.aspx.designer.cs와 동일하게 자동으로 변경되며 제어 ID를 사용할 수 없습니다.

상속 속성을 수정 한 후 Test2.aspx.designer.cs를 저장하고 열면 클래스 이름도 변경되도록 확인할 수 있습니다. 그것은 다음과 같습니다.

    public partial class test1
    {
     ...

으로 바뀌었다

    public partial class test2
    {
    ... 

나중에 감사합니다;)

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