8

在 MVC4(视图)中显示当前年份和未来 10 年的下拉列表的最佳方法是什么?我应该创建一个枚举,然后将其包含在我的视图模型中并创建一个该枚举类型的变量吗?

4

4 回答 4

17
Enumerable.Range(DateTime.Now.Year, 10)

会给你数字,然后你可以在 SelectList() 构造函数中为你的 DropDownList 使用

于 2013-11-01T08:06:36.563 回答
9

当您使用 Enum 时,它将进行硬编码。每年年底,您都应该重新部署解决方案。因此最好在业务层中使用以下代码并推送到视图层,然后根据服务器日期每个用户都可以检索未来10年。

 IList<int> years= Enumerable.Range(DateTime.Now.Year, 10).ToList();
于 2013-11-01T08:12:39.730 回答
4

对于剃须刀,您可以使用以下代码

@Html.DropDownList("Year", Enumerable.Range(DateTime.Now.Year, 10).ToList(), "-- Select Year --")
于 2013-11-01T08:43:51.533 回答
1

添加“新选择列表”:

@Html.DropDownList("年份", new SelectList(Enumerable.Range(DateTime.Now.Year, 10).ToList()), "-- 选择年份 --")

于 2015-08-01T16:33:09.000 回答