0

mvc3で同じドロップダウンリストを作成するための最良の方法は何ですか?このリンクでわかるように、 HtmlJSの例

こんな風にやってみました

モデル:

   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)

great_then、less_than、equalの基本的なドロップダウンリストを取得しました。ドロップダウンリストに<、>、=を表示するにはどうすればよいですか?

4

1 に答える 1

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)
于 2012-09-20T11:42:17.153 に答える