2014-11-03 2 views
0

최근에 ASP.Net 웹 사이트를보고있었습니다.HTML 내부 ASP 태그

<!-- <asp:contentPlaceHolder runat="server" id="titleBar"/> --> 

내가 IIS 서버에서 웹 사이트를 실행하면 웹 사이트가 잘 실행 : 그리고 다음과 같이 HTML 주석 내부의 ContentPlaceHolder 파일 마스터 페이지 중 하나를 보았다. 하지만 Visual Studio에서 첫 번째 마스터 페이지 (위 줄이있는 페이지)를 상속하는 두 번째 마스터 페이지에는 'titleBar'자리 표시자를 참조하는 Content 태그가 있습니다. 경고로 표시되고 디자인 뷰는 코드를 구문 분석 할 수 없으며 '현재 마스터 페이지에서 titleBar를 찾을 수 없습니다.'라고 말합니다. 그러나 IIS는 그것을 실행합니다. 위의 행이 유효합니까? 아니면 Visual Studio에서 위의 행을 구문 분석 할 수있는 설정이 있습니까?

실제 코드를 보려면 "C : \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ ASP.NETWebAdminFiles"에 있습니다. 이전 웹 관리 툴입니다.

+0

실수로 보입니다. 주석 처리를 해봤습니까? – Tim

+0

'Visual Studio에서 위의 행을 구문 분석 할 수있는 설정이 있습니까? - 그렇게 생각하지 않습니다. –

+0

@Tim 그건 실수가 아니야. 나는 생성 된 소스를 보았을뿐 실제로 페이지를 변경할 때 HTML 주석을 동적으로 생성한다. 그래서 그것이 유효 함을 의미합니다. 그러나 비주얼 스튜디오는 동의하지 않는다. – thomarjos

답변

0

HTML 주석 태그 안에있는 asp 태그는 서버에 의해 구문 분석됩니다. 그러나 Visual Studio는이를 구문 분석하지 않습니다. 오류로 표시됩니다. 그러나 IIS가 가능하며 브라우저에서 소스보기를 사용할 때 결과를 볼 수 있습니다. 그러나 이것이 여전히 asp 태그의 유효 사용 여부를 알 수는 없습니다. Asp 태그는 서버 측 주석 (< % - - %>) 내부에 있지 않은 한 aspx 파일 내의 모든 위치에서 파싱됩니다. IDE가 구문 분석하지 않기 때문에 혼란 스러웠습니다. 페이지의 디자인을 사용할 수 없습니다. 그러나 서버에서 실행하면 페이지가 올바르게로드되고 주석 부분에 asp 태그가 생성하는 텍스트가 있습니다.