Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
503 views
in Technique[技术] by (71.8m points)

asp.net mvc 3 - Binding to a DropDownList in MVC3

Previously, I was using this in my model

 public List<SelectListItem> StatusList { get; set; }
 public string Status { get; set; }    

and this in my view to bind to the Dropdownlist

 @Html.DropDownListFor(model => model.Status, Model.StatusList, "")

but if I want to use

  public List<ICode> StatusList { get; set; }

where ICode is as below

 public interface ICode
{
    int Id { get; set; }
    ICodeGroup CodeGroup { get; set; }
    string ShortDescription { get; set; }
    string LongDescription { get; set; }
}

What should I do in my view and model?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Try this:

@Html.DropDownListFor(model => model.Status, 
 Model.StatusList.Select(a=> 
  new SelectListItem(){
   Text=a.ShortDescription, Value=a.Id.ToString()
  }),
 "")

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...