2011-02-10 5 views
0

나는 다음과 같은 코드가 있습니다HtmlHelper 내부에서 부분 뷰를 반환하는 방법은 무엇입니까?

public static PartialViewResult DateTime(this HtmlHelper helper) 
     { 


      return System.DateTime.Now.ToLongTimeString(); 
     } 

을하고 지금은 날짜 시간 방법 내부에서 부분보기를 반환합니다. 하지만 헬퍼 인스턴스에는 부분 뷰를위한 메서드가 없습니다.

는 업데이트 2 :

물어 더 나은 질문은 내 의견으로는 Html 헬퍼 (사용자 정의) 내부에서

+0

부분보기 유형의 PartialViewResult입니다 ... 당신이 여기 달성 하려는지 : 그건 그냥이 작은 미 조정을, 괜찮아요 (그리고 partialview를 반환하는 도우미보다 훨씬 더 의미)? –

+0

여러 프로젝트의 공유보기를 반환하는 데 사용할 수있는 확장 메서드를 만들려고합니다. – johndoe

답변

1

을 부분보기의 HTML을 반환 할 수있는 방법이 MVC 패턴 A를 분해한다는 생각 비트. View을 담당하는 Controller이 필요합니다. 내가 을 반환 Action 컨트롤러를 만들 것입니다.

부분보기로 사용하는 것 외에 다른 작업을 수행하고 싶지 않다면 그 속성이 있습니다. 이렇게하면 MVC 패턴을 고수하고 확장자 @Html.RenderPartial을 사용할 수 있습니다. DateTime를 반환

귀하의 예는 @Robert 레비 말했듯이 해결할 수있다,하지만 당신은 정말 시도하고 Controller 외부에서 View을 반환하려면 내가 그 시도에 대하여 강력하게 조언 할 것이다.

2

실제보기가 아닌 문자열을 반환하는 도우미를 만드는 것처럼 보입니다.

public static MvcHtmlString DateTime(this HtmlHelper helper) 
{ 
    return MvcHtmlString.Create(System.DateTime.Now.ToLongTimeString()); 
} 
관련 문제