2012-08-24 2 views
0

내 응용 프로그램에 여러 마스터 페이지가 있습니다. 나는 사용자 정의 유형을 만들어 그것에서 모든 마스터 페이지 inharit : 오류 'MyMaster'유형을로드 할 수 없습니까?

public class MyMaster : System.Web.UI.MasterPage 
{ 
    private int myno; 

    public int MyNo 
    { 
     get { return 50; } 
     set { myno = value; } 
    } 

} 

는 기본적으로 myno 모든 마스터 페이지와 마스터 페이지에 공통적 인 것은 콘텐츠 페이지에서 변경됩니다. 이 속성을 추가하려면 콘텐츠 페이지에 추가했습니다.

<%@ MasterType TypeName=MyMaster %> 

페이지에서 실행 과목 오류가 발생했습니다. 친절하게 안내 해줍니다.

감사는

답변

1

당신이 웹 사이트에서 작업하는 경우, 일반적으로 응용 프로그램의 App_Code 폴더에서 파생 MasterPage 클래스를 넣어해야합니다. VS가 사이트를 컴파일하면 AppCode 폴더의 클래스가 사이트의 네임 스페이스로 컴파일되고 응용 프로그램의 코드 숨김 페이지에서 사용할 수 있습니다.

응용 프로그램을 사용하는 경우 클래스 파일을 사이트의 루트에 넣고 프로젝트의 다른 페이지의 코드 숨김에서 직접 참조 할 수 있어야합니다. 모든 네임 스페이스 참조가 정확합니다.

클래스 파일의 Build ActionCompile으로 설정되어 있는지도 확인하십시오. 솔루션 탐색기에서 클래스 파일을 선택하여 속성 창에서이를 확인할 수 있습니다.

0

방금이 문제가 발생했습니다.

Page 지시어의 MasterPageFile 속성이 내 MasterType 지시어의 TypeName과 일치하지 않습니다.

즉, 잘못된 마스터 페이지 파일의 TypeName을 지정했습니다. 죄송합니다.

다음은이 문제의 데모입니다.

<%@ Page Title="" Language="VB" MasterPageFile="~/Departments/SomeMaster.master" AutoEventWireup="false" 
    CodeFile="ExamplePage.aspx.vb" Inherits="Departments_ExamplePage" Theme="Default" %> 

<%@ MasterType TypeName="Departments_SomeOtherMaster" %> 
관련 문제