2012-09-20 36 views
0

什麼是在mvc3中創建相同的下拉列表的最佳方式? 你可以在這個鏈接看到 Html JS examplemvc3運營商的下拉列表

我試圖做這樣

型號:

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) 

我有一個基本的下拉列表與greater_then,less_than,相等。如何在下拉列表中顯示<,>,=?

回答

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)