왜 컨트롤을 드래그할 때, Winform은 new 실례를 사용해야 하는데, WebForm은 쓸모가 없습니까?
1630 단어 WinForm
WebForm 아래: protected System.Web.UI.WebControls.Button Button1;
WINForm 아래: private System.Windows.Forms.Button button1;
this.button1 = new System.Windows.Forms.Button();
이 문제에 대해 그룹 안의 맏이들에게 가르침을 청했다. 샤오펑(ben)의 해석은 우리가 aspx를 이해하고 인식하는 데 매우 편리하다. 나는 여기에 써서 모두가 교류하는 데 편리하고 다른 의견이 있으면 우리가 제때에 다시 인식하는 데 편리하다.
샤오펑(ben)은 윈도우 프롬이 다시 실례화되어야 하는 이유는 웹포롬의 aspx와 같은 파일이 없기 때문이라고 말했다. 윈포드 안의 컨트롤러와 창은 모두 cs를 통해 그려진 것이다.WebForm의 aspx 파일 중 일부 컨트롤러는runat="server"속성을 포함하고 서버 측 컨트롤러로 id 속성을 가지고 cs 파일에서 유사한 보호된 시스템을 사용합니다.Web.UI.WebControls.Button Button1;cs 파일에서 컨트롤 실례를 정의하지만 new를 사용하지 않습니다. 이 실례가 asp이기 때문입니다.net 베이스(해상도)가 Request[id]를 통해 반환되는 대상입니다. aspx 파일에 id="컨트롤 이름"run at="server"컨트롤이 없고 cs 파일에 보호된 컨트롤이 있다면......컨트롤 이름의 정의는 실행할 때 Request 집합에서 찾아야 합니다. 만약 찾을 수 없다면, 프로그램에서 new 재실례를 사용했는지, 그렇지 않으면 실행할 때 다음과 같은 오류가 발생합니다.
대상 인용이 대상의 실례에 설정되지 않았습니다.
설명: 현재 웹 요청을 수행하는 동안 처리되지 않은 예외가 발생했습니다.이 오류와 코드에서 발생한 오류의 출처에 대한 상세한 정보를 확인하려면 창고 추적 정보를 확인하십시오.예외 세부 정보: 시스템.NullReference Exception: 객체 참조가 객체의 인스턴스에 설정되지 않았습니다.소스 오류:
43: this.Button1.Click += new System.EventHandler(this.Button1_Click);
44: this.Load += new System.EventHandler(this.Page_Load);
45: this.Button2.Click+=new EventHandler(Button2_Click);
46:
47: }
만약 new 실례화를 다시 사용한다면, 예를 들어:this.Button2=new Button;상소 착오가 생기지 않을 겁니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WinForm Read Excel텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.