控制器采取行动

IList<InputVoltage> inputVoltagesList = unitOfWorkPds.InputVoltageRepository.GetAll.ToList();

pdsEditViewModel.InputVoltageList = inputVoltagesList.Select(m => new SelectListItem { Text = m.Name, Value = m.Id.ToString() });


视图模型

    public IEnumerable<SelectListItem> InputVoltageList { get; set; }
    public List<int> SelectedInputVoltages { get; set; }


视图

    @Html.ListBoxFor(m => m.SelectedInputVoltages, Model.InputVoltageList)


当用户不进行选择时,我希望收到一个空列表。selectedInputvoltages作为空进入我的后控制器操作中,如何将其作为空列表加入?

我喜欢这两个答案,使用一个答案是否有好处?

最佳答案

如果为null,请确保已在控制器(或模型/视图模型)中对其进行了初始化;如果为null,则可能(尽管是丑陋的代码)使用了合并运算符即时进行了初始化:

@Html.ListBoxFor(m => m.SelectedInputVoltages, Model.InputVoltageList ?? new List<SelectListItem>())

关于c# - 如何从Asp.net MVC的ListBoxFor选择框中返回空列表而不是空列表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19732667/

10-11 02:36