2011-02-04 12 views
1

tinyMCE (js의 리치 텍스트 편집기)를 사용하고 있습니다. 현재, 나는 다음과 같은 기능이 있습니다 서식있는 텍스트 편집기에 입력 된 텍스트를 반환javascript에서 MVC 컨트롤러로 값 전달

function GetEditorValue() { 
     var val = tinyMCE.get('valueTextArea').getContent() 

    } 

합니다. 이제,이 데이터를 POST를 사용하여 내 MVC 컨트롤러 에 전달하고 거기에 액세스하는 방법이 있습니까? (이 모든 것은 ASP.NET MVC 2에서 C#을 사용하여 수행됩니다)

답변

3

이 값은 AJAX를 사용하여 보낼 수 있습니다.

var val = tinyMCE.get('valueTextArea').getContent(); 
$.post('<%= Url.Action("foo") %>', { value: val }, function(result) { 
    // TODO: handle the success 
    alert('the value was successfully sent to the server'); 
}); 

와 컨트롤러 액션 내부 : 이제 분명히이 값이 위험한 문자를 포함 할 수 있으며 ASP.NET에 의해 그들을 거부하는 서식있는 텍스트 편집기이기 때문에

[HttpPost] 
public ActionResult Foo(string value) 
{ 
    // Do something with the value 
} 

예를 들어 jQuery.post() 기능을 제공 예외를 던집니다.

[HttpPost] 
[ValidateInput(false)] 
public ActionResult Foo(string value) 
{ 
    // Do something with the value 
} 

을하고 ASP.NET 4.0을 사용하는 경우 당신은 또한 당신의 Web.config에 다음을 추가해야합니다 :이 문제를 방지하려면 당신은 [ValidateInput(false)] 속성 컨트롤러 액션을 장식 할 수 확실히

<httpRuntime requestValidationMode="2.0" /> 
+0

이 내 컨트롤러 메서드가 호출되지 않은 경우에도 대답처럼 보입니다. 그러나 나는 그 부분을 알아낼 것이다. 무리 감사. – snwr

+0

@snwr, 아마도 자바 스크립트 오류가 있습니까? 'FireBug'는 무엇을 말합니까? AJAX 요청이 전송 된 것을 볼 수 있습니까? –

+0

자바 스크립트 오류가 없으며 내 $ .post가 방화 광에 따라 정확하게 맞았습니다 (매개 변수의 올바른 값을 전달). 그러나 컨트롤러의 내 브레이크 포인트가 맞지 않습니다 .. – snwr

관련 문제