下拉未来10年

时间:2013-11-01 08:03:50

标签: c# .net asp.net-mvc asp.net-mvc-4

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

4 个答案:

答案 0 :(得分:17)

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

将为您提供可在DropDownList的SelectList()构造函数中使用的数字

答案 1 :(得分:9)

当您使用Enum时,它将进行硬编码。每年年底,您都必须重新部署解决方案。最好在业务层中使用以下代码并推入视图层然后基于服务器日期每个用户可以追溯未来10年。

 IList<int> years= Enumerable.Range(DateTime.Now.Year, 10).ToList();

答案 2 :(得分:4)

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

@Html.DropDownList("Year", Enumerable.Range(DateTime.Now.Year, 10).ToList(), "-- Select Year --")

答案 3 :(得分:0)

添加“new SelectList”:

@ Html.DropDownList(“Year”,new SelectList(Enumerable.Range(DateTime.Now.Year,10).ToList()),“ - Select Year - ”)