2010-12-07 4 views
0

"드롭 다운 그룹"코드를 사용하여 자동으로 HTML을 빌드하는 자체 HTML 도우미 메서드를 만들어서 프로젝트에서 자동으로 드롭 다운을 빌드하려고합니다. 그러나 모델을 완벽하게 지원하면서이 작업을 수행해야합니다.ASP.NET MVC2의 사용자 지정 DropdownFor

내 최종 코드는 다음과 같이 표시되어야합니다.

... 여기서 "121"은 데이터베이스에서 키/값 쌍 사전을 반환하는 코드 그룹입니다.

여기 내 HTML 도우미 메서드에 대한 설명이 있습니다.

정확히 어떻게 DropDownListFor 메서드를 사용하는지 알 수 없습니다. 나는 html.DropDownListFor()를 리턴한다고 가정하지만 나는 명백한 것을 놓치고있다. 어떤 도움이 필요합니까? 이

답변

1

당신은 갈 :

public static MvcHtmlString CodeList<T, TProp>(
    this HtmlHelper<T> html, 
    Expression<Func<T, TProp>> expr, 
    int category 
) 
{ 
    var codeList = CodeManager.GetCodeList(category); 

    var selectList = new SelectList(
     codeList.Select(item => new SelectListItem { 
      Value = item.Key.ToString(), 
      Text = item.Value 
     }), 
     "Value", 
     "Text" 
    ); 
    return html.DropDownListFor(expr, selectList); 
} 

비고 : 같은 CodeManager.GetCodeList 정적 방법은 격리에 구성 요소를 테스트 장치의 측면에서 매우 나쁜.

+0

드롭 다운을 원할 때마다 "GetCodeList"를 직접 호출하지 않고 분리하는 방법을 권하고 싶습니다. –

관련 문제