2012-02-14 5 views
3

편집 : 주요 문제는 이전 웹 사이트 프로젝트의 "기존 항목 추가"작업을 ASP.NET 웹 응용 프로그램 프로젝트. 이로 인해 기존 항목을 추가하는 대신 새 마스터 페이지와 aspx 페이지를 프로젝트에 추가 한 다음 채워 넣었습니다. 같은 문제가 계속 발생합니다."System.Web.UI.MasterPage에 정의가 없습니다 ..."ASP.NET 오류

나는 표준 웹 사이트 인 레거시 프로젝트를 가지고 있습니다. 웹 응용 프로그램으로 새 프로젝트를 시작했고 필요한 모든 페이지에 이식했습니다.

  • 'System.Web.UI.MasterPage does not contain a definition for 'headerImage'

  • 'MasterPage' does not contain a definition for 'imgHeader' (이 코드 숨김에) (내가 코드 숨김이 얻을) : 그러나, 나는 다음의 대부분의 약간 다른 순열을 구성하는 100 개 이상의 오류 메시지가 표시됨

첫 번째 오류에 대해서는 프로젝트에서 마스터 페이지가 설정되어 있지 않은 것처럼 보입니다. 내 영문 페이지 각각의 상단에있는 마스터 페이지를 설정 좋아 : 또한

<%@ page language="C#" masterpagefile="~/MasterPages/MasterPage.master" autoeventwireup="true" inherits="Equipment.aspx.cs" title="Untitled Page" %> 
<%@ MasterType VirtualPath="~/MasterPages/MasterPage.master" %> 
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> 
<!-- some content --> 
</asp:Content> 

, 내가 분명히 코드 뒤에 ~/MasterPages/MasterPage.master에 headerImage 속성을 노출 :

public partial class MasterPage : System.Web.UI.MasterPage 
    { 
     #region Properties 

     private string _headerImage; 
     public string headerImage 
     { 
     get 
     { 
      return _headerImage; 
     } 
     set 
     { 
      _headerImage = (string)value; 
     } 

     } 

     // other stuff 
    } 

아직 VS가 System.Web.UI.MasterPage 기본 클래스에서이 속성을 찾고 있습니다!

나는 이미 this 게시물을 체크 아웃했으며 내 문제를 해결하지 못했습니다.

생각하십니까? 모든 의견을 보내 주시면 감사하겠습니다. 고마워.

+1

여기서이 파일의 ext입니다 "~/MasterPages/MasterPage.master – MethodMan

+0

@DJKRAZE VS ASP.NET을 처음 사용합니다. 확장을 의미하는 경우 코드 뒤에 .master 및 .cs가 있습니다. – kmarks2

답변

2

새 웹 응용 프로그램에 기존 파일을 추가하면 좋은 아침입니다. 처음부터 새로 만들었습니까? 리터럴 "Add Existing Item"을 했습니까? 그렇다면 각 파일을 마우스 오른쪽 버튼으로 클릭하고 "웹 응용 프로그램으로 변환"옵션을 클릭해야합니다.

+0

그래, 그냥 "기존 항목 추가"를 했어. 그래서 나는 마스터 페이지에서 "Convert"할 필요가있다. (옵션을 볼 수있는 유일한 곳이다.) 감사. – kmarks2

+1

다른 .aspx 또는 .ascx에서는 사용할 수 없습니까? 파일을 – mreyeros

+1

이상하게도 사용할 수 있습니다. 내가 할 수있는 모든 파일을 변환하고 나섰습니다. "형식 '마스터 페이지'에 이미 'Form1'에 대한 정의가 포함 된 오류 및 기타 항목이 있습니다. – kmarks2

2

this.Master의 네임 스페이스를 확인하십시오. System.Web.UI.MasterPage 인 경우 마스터 페이지의 이름을 다른 이름으로 변경하십시오. 이렇게하면 문제를 격리 할 수 ​​있습니다.

+1

이것이 문제입니다. 마스터 페이지에 이식 된 것은 _no_ 네임 스페이스에 있습니다. 방금이 프로젝트에서 사용 된 공통 네임 스페이스로 묶었으며 대부분의 문제점이 사라졌습니다. 여전히 일부 "mynamespace.MasterPage 이미 동일한 매개 변수"SomeCSS "라는 구성원을 정의합니다." 팁 고마워. – kmarks2

0

내 대답은 @mreyeros와 비슷하지만 디자이너 파일이 이미 존재했기 때문에 Vs가 디자이너가 아닌 클래스의 부분적 특성을 인식하지 못해이 두 파일을 연결했습니다.

제가 사용했던 수정은 프로젝트에서 파일을 제거하고 기존 추가를 사용하여 파일을 다시 추가하는 것이 었습니다. 나는 이것을 대량으로 수행했고 새로 추가 된 파일은 올바르게 작동하고 오류가 사라졌습니다.

관련 문제