2009-11-10 3 views
1

그래서, 다음 코드를 사용하여 Page의 HTML을 얻으려고합니다.AjaxToolkit 컨트롤을 사용하여 페이지를 HTML로 변환 할 수 없음 - Extender 컨트롤은 RegisterExtenderControl을 사용하여 등록해야합니다.

var stringWriter = new StringWriter(); 
var htmlTextWriter = new HtmlTextWriter(stringWriter); 
Page.RenderControl(htmlTextWriter); 
htmlTextWriter.Flush(); 
var html = stringWriter.ToString(); 

이것은 Script control 'ace' is not a registered script control. Script controls must be registered using RegisterScriptControl() before calling RegisterScriptDescriptors() 메시지와 함께 실패합니다.

컨트롤 ace는 Ajax Toolkit의 AlwaysVisibleControlExtender입니다.

<ajaxToolkit:AlwaysVisibleControlExtender ID="ace" runat="server" 
    TargetControlID="lblControl" VerticalSide="Middle" 
    VerticalOffset="50" HorizontalSide="Center" HorizontalOffset="50" 
    ScrollEffectDuration=".1" /> 

이 오류의 원인은 무엇입니까? 어떻게 해결할 수 있습니까? 페이지를 탐색 할 때 페이지가 제대로 작동하지만 문제는 HTML을 문자열로 렌더링하려고 할 때만 발생합니다.

답변

0

부모가 아닌 컨트롤을 렌더링하고있는 것으로 보입니다. 부모 aspx 페이지에 ajax 등록 스크립트 컨트롤이 있으면 등록해야합니다. 대리인에게 부모에게 다시 보내서 페이지를 렌더링하십시오.

+0

안녕하세요. Andrew. 내 코드를 페이지로 이동하려고 시도했지만 아무 소용이 없습니다. 답변을 주셔서 감사합니다! –

관련 문제