페이지에 여러 개의 <asp:TextBox TextMode="MultiLine">
요소가 있습니다. 로드 할 때, 나는 VB 코드를 통해 그것들을 채운 다음, TinyMCE 에디터 (jQuery TinyMCE 플러그인을 통해)로 바꾼다. 각 텍스트 상자에는 데이터베이스에 삽입하기 위해 텍스트를 코드 뒤에 다시 제출하는 목적으로이 텍스트와 연결된 단추가 있습니다.TinyMCE Textarea가 ASP.NET에서 인식하지 못함 CodeBehind
이전에 제출 버튼을 클릭하면 텍스트 상자에 편집기의 내용을 "저장"해야한다는 것을 알게되었지만 이는 내 문제가 아닙니다. 그렇게 한 후에도 편집 내용이 코드 뒤에 나타나지 않습니다.
제가 언급 한 것처럼 저는 jQuery를 사용하고 있습니다. 여기 내 클릭 핸들러입니다. 따라서 submit
클래스, 모든 버튼은 ASP.NET에서 버튼을 제출 있습니다 유의 사항 :
$('input.submit').live('click', function() {
tinyMCE.EditorManager.triggerSave();
});
그래서, 어떤 버튼을 제출할 때 를 클릭 모든 TinyMCE에 편집자는 저장 이벤트가 트리거합니다. 이 작업이 수행 된 후에 내가 찾고있는 텍스트 영역의 값을 (다시 자바 스크립트를 통해) 확인했으며 수정 사항이있는 것 같습니다 (Chrome의 개발자 도구 및 console.log를 사용하고 있습니다) :
서버 측에console.log($(this).parent().find('textarea').val());
는하지만, 내가 제출 버튼의 클릭 핸들러에서 편집의 참조 없음 :
Dim paragraph As String = Me.myTextArea.Text
' Results in the original text, not the edited text
기타 참고 사항 :
- 각 편집기는 자체 업데이트 패널입니다
- 제출되는 콘텐츠의 성격 상 (HTML)
EnableEventValidation="false"
및ValidateRequest="false"
(내부 애플리케이션이므로이 경험이있는 개발자는 경험이 풍부한 개발자) - 저는 매우 신입 사원입니다. .NET,하지만이 동작은 나에게 우스운 것처럼 보입니다. 나는 비판적인 것을 놓치고 있어야한다.
어떻게 데이터를 서버로 전송합니까? – Thariama
이 버튼은'OnCommand'를 적절한'CommandName'과'CommandArgument'와 함께 사용하고 코드 숨김에서'Me.myTextArea.Text'에 의해 데이터에 접근합니다. –
실제로 문제를 파악한 것 같지만 아직 내 이론을 테스트하지 않았습니다. 나는'OnCommand' 포스트 백이 먼저 (비동기 적으로 오래된 데이터를 보내는) 실행되고 있다고 생각합니다. 그러면 JS의 내 브레이크 포인트가 히트됩니다 (디버거에서 편집 된 텍스트를 볼 수있게 됨). 그러면 VB의 브레이크 포인트가 히트됩니다. VB 디버거에서 이전 텍스트가 표시됨). 견고한 이론 같지만, 내가 말했듯이, 테스트되지는 않았다. –