2011-11-23 2 views
0

asp .net 및 C#을 사용하여 재정의 Render 메서드에서 HTMLTextWriter를 사용하여 두 div를 렌더링했습니다. 그러나 페이지의 끝에 나타납니다. 예를 들어 특정 ASP 패널에 표시해야 할 경우 div를 렌더링 할 위치를 어떻게 선택할 수 있습니까?HTMLTextWriter 페이지 중간에 요소를 렌더링하는 방법

고마워,

편집 : 코드의 내 비트 :

protected override void Render(HtmlTextWriter writer) 
    { 
     StringWriter stringWriter = new StringWriter(); 
     base.Render(writer); 
     using (HtmlTextWriter writer2 = new HtmlTextWriter(stringWriter)) 
     { 
      writer.AddAttribute(HtmlTextWriterAttribute.Class, "testDiv"); 
      writer.RenderBeginTag(HtmlTextWriterTag.Div); 
      writer.RenderEndTag(); 
     } 
    } 

답변

1

나는 Majestic 같은 HTML 파서를 사용하는 주어질거야 필요성을 생각합니다. 페이지를 메모리 스트림으로 렌더링 한 다음 원하는대로 조작 할 수 있습니다.

유일한 문제는 패널 렌더링을 사용자 지정하는 경우 asp:panel을 상속 한 컨트롤을 작성하고 원하는 클래스를 삽입 할 수 있습니다.

+0

유일한 해결책이 맞습니까? 지금하고있는 일을 정확하게하고 싶습니다. 코드를 페이지의 다른 부분에 배치하십시오!? 감사. –

+0

예, 두 가지 옵션이 있습니다. 패널을 상속하고 해당 동작을 추가하거나 페이지 렌더링 결과를 수정하는 컨트롤을 만듭니다. –

관련 문제