我在提交ListBoxFor控件中选择项目时遇到问题。我正在使用PagedListPager控件,当选择下一页时,ListBoxFor控件正在丢失所选值并抛出错误。
这是我的代码:
视图模型:
public IEnumerable<SelectListItem> FiscalYearsData { get; set };
public IEnumerable<int> SelectedYears { get; set; }
Controller(从存储库加载FiscalYearsData,如下所示):
fourteenStepStatusView.FiscalYearsData =
projectRepository.GetFiscalYears.Select
(yr => new SelectListItem { Text = yr.ToString(), Value = yr.ToString()}).ToList();
查看:
@Html.ListBoxFor(model => model.SelectedYears, new
MultiSelectList(Model.FiscalYearsData, "Value", "Text", Model.SelectedYears),
new { @Id = "lstFiscalYears", @class = "ListBoxFor70Style", Multiple = "multiple",
size = "3" })
任何人都可以帮我解决问题。我不确定我在这做什么错。
由于
答案 0 :(得分:1)
像往常一样,更好的方法可能就是停下来并重新思考你想要实现的目标。美元到硬币有更好的方法。
答案 1 :(得分:0)
尝试以下任何一项:(两者都有效)
更改SelectedYears属性,如下所示
public IEnumerable<string> SelectedYears { get; set; }
OR
更改服务电话以获取会计年度,如下所示
fourteenStepStatusView.FiscalYearsData = projectRepository.GetFiscalYears.Select
(yr => new SelectListItem { Text = yr.ToString(), Value = (int)yr}).ToList()