Поверьте, я перепробовал много вариантов,
и у меня есть ответ здесь
но я всегда ищу передовой опыт, и лучший способ, который я знаю на данный момент, как для интерфейсных, так и для серверных разработчиков for loop
(да, я не шучу)
Потому что, когда интерфейс предоставляет вам страницы пользовательского интерфейса с фиктивными данными, он также добавил классы и некоторые встроенные стили для определенной опции выбора, поэтому hard to deal
с использованиемHtmlHelper
Взгляните на это:
<select class="input-lg" style="">
<option value="0" style="color:#ccc !important;">
Please select the membership name to be searched for
</option>
<option value="1">11</option>
<option value="2">22</option>
<option value="3">33</option>
<option value="4">44</option>
</select>
это от интерфейсного разработчика, поэтому лучшим решением является использование цикла for
fristly create
или get your list
данных из (...) в действии контроллера и поместите его в ViewModel, ViewBag или что-то еще
ViewBag.MembershipList = await _membershipAppService.GetAllMemberships();
Во-вторых, в представлении выполните простой цикл for для заполнения раскрывающегося списка
<select class="input-lg" name="PrerequisiteMembershipId" id="PrerequisiteMembershipId">
<option value="" style="color:#ccc !important;">
Please select the membership name to be searched for
</option>
@foreach (var item in ViewBag.MembershipList.Items)
{
<option value="@item.Id" @(Model.PrerequisiteMembershipId == item.Id ? "selected" : "")>
@item.Name
</option>
}
</select>
таким образом вы не нарушите дизайн пользовательского интерфейса, а его простой, легкий и более читаемый
надеюсь, это поможет вам, даже если вы не использовали бритву
var listItems = ...
должны быть в вашем контроллере, а не в вашем представлении.