控制器采取行动
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/