2010-12-30 7 views
2

ActionResult를 반환하는 컨트롤러 메서드를 작성하려고합니다. 1. 호출하는 HTML 도우미 메서드 2. 캡처 및 문자열 3. 돌려 JSONASP.NET MVC : 컨트롤러 메서드에서 사용자 지정 HTML 도우미 호출하는 방법?

로 감싸 렌더링 된 HTML과 방법에 HTML 도우미의 렌더링 된 HTML을 저장 :

이 방법에서는

, 나는 싶습니다

컨트롤러 메서드에서 HTML 도우미 메서드를 호출하려면 어떻게해야합니까? 단순히 정적 클래스 HtmlHelper를 사용하면 작동하지 않습니다.

+0

전화를 걸려는이 HTML 도우미는 무엇입니까? 대안이있을거야. –

+0

HTML을 JSON으로 반환하는 이유는 무엇입니까? HTML로 반환하고 부분 뷰를 사용하는 것이 좋을까요? –

+0

@ 다린 : 더 많은 문제를 생각한 후에 더 나은 디자인 대안이 있습니다. 내 상황에, 난 그냥 액션 메서드로 html 도우미를 refactor하는 것이 가장 좋습니다 생각합니다. @sean : 오류 검사 변수를 반환하고 클라이언트에 오류를 알릴 필요가 있으므로 JSON으로 반환해야합니다. – burnt1ce

답변

4
var helper = new HtmlHelper<TModel>(new ViewContext(), new ViewPage()); 

또는 작동하지 않는 경우 시도해 볼 수 있습니다.

Stream filter = Stream.Null; 
StreamWriter writer = new StreamWriter(filter); 
var viewContext = new ViewContext(this.ControllerContext, 
    new WebFormView("MyView"), 
    new ViewDataDictionary(this.ViewData), 
    new TempDataDictionary(), writer); 
var helper = new HtmlHelper<TModel>(viewContext, new ViewPage()); 

모델 유형을 TModel로 바꿉니다.

관련 문제