VWD 2008 Express 및 C#을 사용하십시오. 마스터 페이지를 사용하지 않고 웹 페이지를 만들었습니다. 나중에 마스터 페이지를 사용하기로 결정 했으므로 테스트 페이지를 먼저 작성해야한다고 생각했습니다. 마스터 페이지를 만든 다음 새 항목 추가 (TestMstr.aspx) 및 마스터 페이지 선택 옵션을 만듭니다. MasterPage.master.cs에 'string'유형의 공용 속성을 추가하여 콘텐츠 페이지에서 속성 집합을 설정하여 마스터 페이지에 레이블 텍스트를 설정할 수 있습니다. 콘텐츠 페이지에서이 필수 @MasterType 페이지 지시자 :ASP.NET @MasterType 지시어가 작동하지 않습니다.
<%@ MasterType virtualpath="~/MasterPage.master" %>
모든 테스트 페이지에 큰 근무 후 상황이 흥미로운 얻을 시작했다. 나는 마스터 페이지를 사용하는 기존 페이지를 다시 포맷 시작했지만 지금은 편집 페이지에서 공용 속성 (RTM23a.aspx)에 내 전화에 오류가 점점 오전 :
Master.PageTitle = "My New Page Title";
이를 실행하려고이 오류를 제공합니다 페이지 : 'System.Web.UI.MasterPage'에는 'PageTitle'에 대한 정의가 없으며 'System.Web.UI.MasterPage'유형의 첫 번째 인수를 허용하는 확장 메서드 'PageTitle'을 찾을 수 없습니다. 지시어 또는 어셈블리 참조 사용?).
이 정확한 호출은 TestMstr에서 올바르게 작동합니다. 나는 TestMstr과 ReportMsta의 내용이 동일하다는 것을 알고 있습니다. 왜냐하면 말 그대로 ReportMstr을 Report1에 복사했고 TestMstr을 RTM23a로 변경했기 때문입니다. RTM23a에서 'Master'를 입력하십시오. PageTitle 속성을 보여주는 인텔리 센스를 제공합니다. 빌드 -> 빌드 페이지, 빌드 -> 빌드 웹 사이트 및 빌드 -> 웹 사이트 다시 작성 메뉴 항목은 오류 만 표시합니다. 경고 만 제공합니다. 두 파일에 대한 CMD 셸 파일 비교 (FC)가 이어집니다.
ASPX 파일 : 파일 뒤에
Comparing files TestMstr.aspx and RTM23A.ASPX
***** TestMstr.aspx
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="TestMstr.aspx.cs" Inherits="TestMstr" %>
<%@ MasterType virtualpath="~/MasterPage.master" %>
***** RTM23A.ASPX
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="RTM23a.aspx.cs" Inherits="RTM23a" %>
<%@ MasterType virtualpath="~/MasterPage.master" %>
*****
코드 :
Comparing files TestMstr.aspx.cs and RTM23A.ASPX.CS
***** TestMstr.aspx.cs
public partial class TestMstr : System.Web.UI.Page
{
***** RTM23A.ASPX.CS
public partial class RTM23a : System.Web.UI.Page
{
*****
***** TestMstr.aspx.cs
private int _iMon, _iYr;
private RptTestMstr _StateDur;
***** RTM23A.ASPX.CS
private int _iMon, _iYr;
private RptRtaWFStages _StateDur;
*****
***** TestMstr.aspx.cs
{
_StateDur = new RptTestMstr(_iYr, _iMon);
_StateDur.RtaInput = this.txtRtaNos.Text;
***** RTM23A.ASPX.CS
{
_StateDur = new RptRtaWFStages(_iYr, _iMon);
_StateDur.RtaInput = this.txtRtaNos.Text;
*****
***** TestMstr.aspx.cs
// End TestMstr class definition
}
***** RTM23A.ASPX.CS
// End RTM23a class definition
}
*****
가능성이 문제의 원인이 될 수 무엇? 페이지는 동일한 프로젝트에 있으며 모든 것이 정확하지만 하나는 실행되고 다른 하나는 실행되지 않습니다. 처음부터 마스터 페이지를 선택하여 TestMstr을 만들었지 만 RTM23a는 원래 마스터 페이지를 선택하지 않고 만든 다음 TestMstr처럼 보이도록 편집되었습니다.
업데이트 : RTM23a는 서버에서 정상적으로 작동합니다. 그것은 단순히 내 디버그가 깨진 것 같습니다.