4

표준 HTMLEditorExtender 컨트롤 (Ajax 컨트롤 툴킷의 일부)을 사용하고 있습니다. 원래 pageLoad에서는 html로 채 웁니다 (> <> br <>> <> img < 태그 포함) HTMLEditorExtender 컨트롤에 잘 표시 됨 그런 다음 비동기 포스트 백을 수행 할 때 (updatepanel을 통해) 모든> IMG < 태그는 이미지를 표시하는 대신 실제 HTML로 표시 다른 모든 태그가 여전히 제대로 표시되어HTMLEditorExtender가 비동기 포스트 백에서 img 태그를 인코딩합니다.

를 비동기 포스트 백 후 다음과 같이 HTMLEditorExtender 컨트롤의 태그는 다음과 같습니다.. 을 보이지 않는 텍스트 영역에서 html의 인코딩 된 값을 유지하는 데 사용되는 경우 모든 태그가 올바르게 표시되지만 (예 : < 및 >) img 태그는 인코딩 된 값보다 앞에 앰퍼샌드를 생략합니다 (예 : lt; d gt;)

업데이트 :이 코드를 내 pageLoad 이벤트에 삽입하면 정상적으로 작동하지만 보안 상 영향은 무엇입니까?

if (IsPostBack) 
{ 
    txtBookingConfirmation.Text = Server.HtmlDecode(txtBookingConfirmation.Text); 
} 

아무도 제어 할 수 없도록하는 방법을 알려주십시오.

미리 감사드립니다.

답변

7

이것은 유일한 해결책 인 것처럼 보이며 아직 문제가 없습니다.

if (IsPostBack) 
{ 
    txtBookingConfirmation.Text = Server.HtmlDecode(txtBookingConfirmation.Text); 
} 
0

나는이 동일한 문제가 있습니다. HTMLEditorExtender는 페이지에 다시 게시하는 버튼을 클릭 할 때마다 텍스트 상자의 내용을 HTML 태그가 표시되는 위치로 변경합니다. '&'을 '& amp;'으로 바꾸는 것 같습니다. 예를 들어, "& lt;" 텍스트의 값이 "& amp; lt"으로 변경됩니다. 이것은 "& gt"에서도 발생합니다. 방금 2012 년 5 월 1 일에 발표 된 AJAX 툴킷으로 업그레이드했습니다. 버전이 무엇인지 모릅니다.

"& amp;"에 공백을 넣어야했습니다. 그들이 내 게시물에 렌더링했기 때문에. 당신이 이것을 볼 때 공간을 빼십시오.

+2

안녕하십니까, 참여 해주셔서 감사합니다. 그냥 부수적 인 말로 대답이 아닙니다. 덧글은 당신이 참조하는 게시물에 '덧글 추가'를 클릭하여 게시해야합니다. 질문에 도움이되는 답변 만 게시하십시오. 즉, 문제없이 Server.HtmlDecode() 메서드를 사용하여 업데이트에 설명 된대로 사용하고 있습니다. 희망이 당신을 돕는다. – hofnarwillie