2012-09-20 2 views
0

mvc3에서 같은 드롭 다운 목록을 만드는 가장 좋은 방법은 무엇입니까 ??mvc3 연산자 드롭 다운 목록

public enum oporetor 
    { 

     greater_then = '>', 
     less_than = '<', 
     equal = '=' 



    } 

    public oporetor getOp { get; set; } 
} 

보기 모델 :

   @Html.DropDownListFor(model => model.getOp, new SelectList(Enum.GetValues(typeof(Fnx.Esb.ServiceMonitor.ViewModel.AdvanceSearchModel.oporetor)))) 

보기 :

@Html.EditorFor(x => x.AdvanceSearchModel) 
으로 내가이

모델처럼하려고 노력 Html JS example

이 링크에서 볼 수 있습니다

큰 드롭 다운 목록에 greater_then, less_than, equal이 있습니다. 드롭 다운 목록에 <,> = =을 표시하려면 어떻게해야합니까?

답변

1
@Html.DropDownListFor(
    model => model.getOp, 
    ((Fnx.Esb.ServiceMonitor.ViewModel.AdvanceSearchModel.oporetor[])Enum.GetValues(
     typeof(Fnx.Esb.ServiceMonitor.ViewModel.AdvanceSearchModel.oporetor) 
    )).Select(x => new SelectListItem 
    { 
     Value = x.ToString(), 
     Text = ((char)x).ToString() 
    }) 
) 

또는 더 좋은 방법은 직접보기 모델에이 데이터를 준비하는 것입니다 :

public enum Operator 
{ 
    greater_then = '>', 
    less_than = '<', 
    equal = '=' 
} 

public class AdvanceSearchModel 
{ 
    public IEnumerable<SelectListItem> Operators 
    { 
     get 
     { 
      return ((Operator[])Enum.GetValues(typeof(Operator))) 
       .Select(x => new SelectListItem 
       { 
        Value = x.ToString(), 
        Text = ((char)x).ToString() 
       }); 
     } 
    } 

    public Operator GetOp { get; set; } 
} 

하고 단순히 내부보기 :

@Html.DropDownListFor(model => model.GetOp, Model.Operators)