2010-05-13 3 views
3

내 ASP.NET System.Web.UI.Page가 렌더링하려고하는 원시 HTML 코드에 액세스하려고합니다.PreRender에서 ASP.NET 페이지의 원시 HTML을 수정하는 방법은 무엇입니까?

어떻게 할 수 있습니까? System.Web.UI.Page.HTML 같은 속성이나 메서드가 있습니까?

페이지의 컨트롤 목록을 반복하고 모든 리터럴 컨트롤 등에 액세스 할 수 있다는 것을 알았지 만, 직접 속성이나 메서드를 사용할 수있는 원시 HTML을 반환 할 수 있는지 궁금합니다. 페이지를 렌더링하기 전에

답변

4

우선 PreRender에서 페이지는 아직 Render '이 아니므로 HTML이 없습니다.

둘째, HttpResponse.Filter 재산 봐.

+0

페이지가 렌더링되지 않지만 모든 컨트롤이 렌더링 준비가되었습니다. 여기에서 컨트롤 값을 수정할 수 있으며 렌더링 된 페이지에서 다시 선택됩니다. 예를 들어, 나는 asp : hyperlink를 잡고 navigate url 속성을 수정할 수 있으며 렌더링 된 페이지에 반영됩니다. 오, 나는 최종 HTML이 아직 준비되지 않았다는 것을 의미하는 컨트롤을 변경할 수 있기 때문에 추측한다. Gotchaa ... 어디에서 최종 html을 잡고 여전히 렌더링하기 전에 변경할 수 있습니까? – ace

+3

앞에서 말했듯이 Filter 속성을 살펴보십시오. –

+0

괜찮 았어. 도와 주셔서 감사합니다. – ace

1

HTTPModules을 사용하여 HTTP 파이프 라인에서 내용을 변경하거나 내용을 관찰 할 수도 있습니다. 이렇게하면 주 응용 프로그램의 관심사가 아닌 작업을 수행 할 수 있습니다. 애플리케이션 아키텍처에 추가 레이어를 제공하는 것 외에, 메인 애플리케이션 자체가 반드시 변경 사항을 인식 할 필요가 없기 때문에 제품을 생산 한 후에 변경 사항을 주입하는 것이 편리 할 수 ​​있습니다. 모듈에 있음).

관련 문제