Сделать переключатель по умолчанию тем, с чего он начинается - PullRequest
1 голос
/ 08 июля 2020

У меня объявлен PartActionType в моей модели, который выглядит следующим образом

    public enum PartActionType
    {
        Transfer,
        Harvest,
        Dispose
    }

На моей странице просмотра я использую это для отображения 3 вариантов сделайте по умолчанию один вариант для моего примера. Я хочу, чтобы RadioBox «Передача» был параметром по умолчанию.

Вот что происходит после принятия предложения Дэвидса

Посмотреть

Ответы [ 2 ]

1 голос
/ 08 июля 2020

Вы по умолчанию выбираете выбранный тип действия при инициализации вашей модели представления. Никогда не помещайте в вашу точку зрения много операторов if-else.

public ActionResult Index()
{
    var vm = new ItemViewModel
    {
        ItemId = 123,
        ItemName = "Fake Item",
        Components = new List<ItemComponentViewModel>
        {
            new ItemComponentViewModel
            {
                ComponentId = 1,
                ComponentName = "Part 1",
                SelectedActionType = PartActionType.Transfer
            },
            new ItemComponentViewModel
            {
                ComponentId = 2,
                ComponentName = "Part 2",
                SelectedActionType = PartActionType.Transfer
            },
            ...        
        };
    };

    return View(vm);
}

введите описание изображения здесь

0 голосов
/ 08 июля 2020

Вы можете это сделать

foreach (var actionType in partActionTypes)
    {
      if (actionType == PartActionType.Transfer)
      <td>
         @Html.RadioButtonFor(x => x.Components[i].SelectedActionType, actionType, new {@checked="checked"})
      </td>
else
      <td>
         @Html.RadioButtonFor(x => x.Components[i].SelectedActionType, actionType)
      </td>
    }
...