2011-08-24 3 views
1

나는 내 머리를 감싸려고 노력하고 있습니다. 어쩌면 여기 누군가가 올바른 방향으로 나를 가리킬 수 있습니다.HTML 도우미가있는 HTML 도우미

@Html.ListBoxFor(s => s.SomeListSelection1, new MultiSelectList(Model.SomeList1, "Id", "Text")) 
<br /> 
@Html.ListBoxFor(s => s.SomeListSelection2, new MultiSelectList(Model.SomeList2, "Id", "Text")) 
<br /> 
@Html.ListBoxFor(s => s.SomeListSelection3, new MultiSelectList(Model.SomeList3, "Id", "Text")) 
<br /> 

이 양식 컨트롤을 사용할 수있는 약간의 변화에 ​​많은 장소에 나타납니다

현재이처럼 일부 컨트롤이 양식을 가지고있다.

"약간의 변형"은 컨트롤을 여러 가지 다양한 부분으로 복제하거나 뷰에 변형 로직을 코딩해야하므로 부분 뷰로 만 수행하고 싶지는 않습니다.

그래서 나는 "멋진 HTML 도우미를 사용하겠다!"라고 생각합니다.

그러나 온라인 HTML 도우미 샘플은 모두 매우 간단한 html 콘텐츠입니다. 그래서 질문은 어떻게 HTML 도우미 안에서 다른 HTML 도우미를 사용할 수 있습니까? 또는, 이것이 잘못된 질문이라면 조건부 렌더링 로직이있는 부분 뷰를 만들기위한 또 다른 깨끗한 대안이 있을까요?

편집 : 대답은 기술적으로 내 질문에 대한 답변을했지만, 내가하려는 일에 대해 블로그 항목을 사용하는 데 어려움이있었습니다. 나는 (어쨌든 나를 위해) 더 좋은 예를 발견했다 : ASP.NET MVC 3 Custom HTML Helpers- Best Practices/Uses

답변

1

예. 가능합니다.
도우미는 임의의 면도기 마크 업을 포함 할 수 있습니다.

사실, 도우미 메서드의 직접적인 내용은 마크 업이 아닌 코드 블록입니다.
도우미 작동 방식에 대한 자세한 내용은 my blog을 참조하십시오.