I have problem with Html.DropDownListFor. I have read a lot of similar questions but I still dont understand what I have to do. I dont know how to make Meal "bb" in dropdown list as pre-selected value.
EDIT: function code:
ViewModel
public class OrderForm
{
public int Id { get; set; }
public string MealName { get; set; }
public int OrderCount { get; set; }
public List<SelectListItem> MealOptions { get; set; }
}
Controller
public IActionResult OrderForm()
{
List<SelectListItem> mealOptions = new List<SelectListItem>();
mealOptions.Add(new SelectListItem("aa", "1"));
mealOptions.Add(new SelectListItem("bb", "2"));
mealOptions.Add(new SelectListItem("cc", "3"));
OrderForm viewModel = new OrderForm
{
MealName = "someMeal",
Id = 2,
OrderCount = 5,
MealOptions = mealOptions
};
return View(viewModel);
}
View
@model OrderForm
@Html.LabelFor(x => x.MealName)
@Html.TextBoxFor(x => x.MealName)
@Html.DropDownListFor(x => x.Id, Model.MealOptions)
HTML Result
<div>
<label for="MealName">MealName</label>
<input id="MealName" name="MealName" type="text" value="someMeal" />
<select data-val="true" data-val-required="The Id field is required." id="Id" name="Id">
<option value="1">aa</option>
<option selected="selected" value="2">bb</option>
<option value="3">cc</option>
</select>
</div>