2013-11-27 3 views
0

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는 서버에서 정상적으로 작동합니다. 그것은 단순히 내 디버그가 깨진 것 같습니다.

답변

0

파일 시스템이 프로젝트 폴더 외부에 RTM23a 및 코드를 복사 한 다음 IDE UI를 사용하여 파일을 삭제했습니다. 그런 다음 프로젝트가 여전히 VWD에서 열린 상태에서 파일 시스템은 파일을 프로젝트 폴더에 다시 복사하고 기존 항목 추가 ... 메뉴를 사용하여 파일을 다시 추가합니다. 그래서 문제는 해결되었지만 수수께끼는 남아 있습니다. 이전에 ASP.NET 개발 서버를 사용하지 않아도 종료 한 적이있었습니다.

관련 문제