2010-05-18 6 views
1

사용자 정의 마크 업을위한 렌더링 로직을 가지고 있습니다. 그러나 bbcode가 아닙니다. 그래서 DB에서 물건을 얻었을 때 MyRender.ToHTML (model.text)을 호출하고 있습니다 ...서버 측 사용자 정의 렌더링 로직 + MVC + Ajax

지금 제가하는 일은 아래 양식 만 가지고 있고 게시물을 추가하고 항목과 동일한보기를 반환합니다. 내 질문은 - 아약스와 함께하는 방법? 컨트롤을 만들고 HTML a'la winforms를 반환해야합니까? 섹시한가요? 어떻게 그렇게 할 수 있니? 아니면 내가 떨어 뜨려야합니까? 어쩌면 자바 스크립트로 렌더링 논리를 복제합니까?

답변

1

jQuery을 사용하면이를 수행하는 가장 쉬운 방법입니다. MVC와 함께 작동 할 방법 :

1 =>

$('#id_of_form').submit(function() { 
    // do stuff 

    // at the end, prevent the normal submit 
    return false; 
});

2 => 예를 들어 당신의 컨트롤러, 양식 데이터 보내기 jQuery를 함께 제출 양식을 잡아라 :

// do stuff 
$.post('your_controller.asp', $(this).serialize(), function(data) { 
    // do stuff with the returned data 
});

더 이 작동 방식에 대한 정보 : http://api.jquery.com/jQuery.post/

3 => 컨트롤러에 양식이 제출되고 처리되는 모델로 데이터를 보냅니다. 그런 다음 컨트롤러는 제출 된 텍스트를 bb-like-code로 가져 와서 형식을 지정합니다. 그 후 서식이 지정된 텍스트를 에코/표시합니다.

your_controller.asp (이 경우 서식이 지정된 텍스트 여야 함)을 호출 한 후 반환되는 모든 것은 변수 data에 저장됩니다. 그런 다음 해당 데이터를 사용하여 jQuery에 페이지에 특정 요소 (예 : 게시 한 내용을 나타내는 양식 아래 div)를 페이지에 추가하도록 지정할 수 있습니다.

// do stuff with the returned data 
$('#id_of_result_element').html(data);
관련 문제