Thứ Hai, 17 tháng 11, 2025

[ASP .Net MVC] @Html.DropDownListFor thiet lap gia tri mac dinh

 2

In the controller Index I have the following:

csharp
ViewBag.Assignees = (await GetAllUsers()).Select(a => new SelectListItem { Text = a.DisplayName, Value = a.Username, Selected = a.DisplayName == "John Smith" }).OrderBy(x => x.Text).ToList();

In the View, I have the following:

csharp
@Html.DropDownListFor(model => model.Assignee, ViewBag.Assignees as List<SelectListItem>, "Select Assignee", new { id = "ddlAssignee", @class = "form-control"})

The dropdownlist populates as expected, however, the default (selected = true) value, which does exist, does not get set. Can someone advise what is wrong in the above?

UPDATE:

By Changing the SelectListItem.Value to a.DisplayName (same as SelectedListItem.Text) I achieved it. Still not sure what prevents the dropdownlist from displaying the item with Selected = true



Source: https://stackoverflow.com/questions/57399378/how-to-set-default-value-for-asp-net-mvc-dropdownlist-from-viewbag

Không có nhận xét nào:

Đăng nhận xét