CloudyKooper
CloudyKooper

Reputation: 717

How can I display an array model property as a list in my view?

I have this array property in my model and would like to see it in my view as a dropdown list. Here's the array property:

public string[] weekDays = new string[5] { "monday", "Tuesday", "Wednesday", "Thursday", "Friday" };

public string[] WeekDays
{
    get { return weekDays; }
}

I've look for hours with no simple explanation or examples. Please help.

Upvotes: 2

Views: 711

Answers (2)

CloudyKooper
CloudyKooper

Reputation: 717

Here's how I solved it.

@{
    var wekdys = new Enrollment();
    @Html.DropDownList("weekDays", wekdys.WeekDays.Select(s => new SelectListItem { Text = s.ToString(), Value = s.ToString() }))
}

this allows me to have a DropDownList outside of the foreach loop

Upvotes: 1

Ufuk Hacıoğulları
Ufuk Hacıoğulları

Reputation: 38478

You can use DropDownList() html helper.

Html.DropDownList("weekDays",
                  Model.WeekDays.Select(s => new SelectListItem { Text = s }))

If you want to read the selected value you can use DropDownListFor() helper.

Html.DropDownListFor(model => model.SelectedWeekDay, //a property to assign the value
                              Model.WeekDays.Select(s => new SelectListItem { Text = s, Value = s }))

Upvotes: 3

Related Questions