2011-09-21 4 views
3

웹 컨트롤에 서버 블록이 있는지 확인하는 방법이 있습니까 (예 : 파일 구문 분석, 태그 내용 캡처, <% ... %> 검색 제외)?ASP.NET - WebControl에 서버 블록이 있는지 확인하십시오.

이유는 무엇입니까? 많은의 HTML 규정 준수 여부에 관계없이 디자인 된 이전 웹 양식이 있기 때문입니다. 헤더 컨트롤 (모든 페이지에 포함되어 있지만 body 태그 안에 있음)은 사이트의 기본 스타일 시트를 참조하는 link 태그를 포함합니다. 페이지의 head 태그가 서버 블록을 포함하지 않는 한, 프로그래밍 방식으로 Page.Controls.OfType(Of HtmlHead).First()link 태그를 삽입 한 다음 "bad"link 태그의 가시성을 false으로 설정할 수 있습니다.

다시 말해서이 항목은 모두 기존 항목 (3.5에 있지만 대부분 .NET에서 작성된 것입니다.)이므로 마스터 페이지를 사용하기 위해 모든 것을 변경하면 간단히 시간과 권한이 없습니다. 예산. 그럼에도 불구하고 브라우저가 스타일을 지정하지 않고 렌더링을 시작한 다음 본문의 스타일 시트에 대한 참조에 도달하면 스타일 시트를 적용하는 대신 미리로드 된 스타일 시트가 페이지에 표시되도록하는 것이 좋습니다.

+1

우아하고 효율적이지는 않지만 try/catch 블록으로 래핑 할 수 있습니다. –

답변

0

Mufasa가 자신의 의견을 논평으로 입력했지만이 질문은 너무 오랫동안 미해결 상태로있었습니다. 따라서, 나는 유일한 해결책이 그의 것임을 추측 할 것입니다 - 그것을 try/catch 검정색으로 포장하십시오.

0

바보 같이 보이지만 CSS 파일의 이름을 변경하여 기존 코드가로드 될 때 찾을 수 없습니까?

관련 문제