2013-11-01 38 views
8

什麼是最好的方式使MVC4(視圖)下拉列表顯示當前年份和未來10年?我應該做一個枚舉,然後將其包含在我的視圖模型中,併爲該枚舉類型創建一個變量?下拉未來10年

+1

您嘗試過什麼嗎?也許是一個for循環,從DateTime.Now.Year開始並遞增9次。你如何看待Razor語法? – Gusdor

+6

您的enum解決方案將需要每12月31日重新部署您的應用程序。 –

回答

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

會給你號碼,您可以在選擇列表的()構造函數當您使用枚舉的一年,它會硬編碼。每到年底,然後用你的DropDownList

9

你應該重新部署該解決方案。最好在業務層中使用以下代碼並將其推入視圖層,然後再基於服務器日期每個用戶都可以在未來10年內回顧。

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

對於剃刀你可以使用下面的代碼

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

加上 「新的SelectList」:

@ Html.DropDownList( 「年」,新的SelectList(Enumerable.Range(日期時間。 Now.Year,10).ToList()),「 - Select Year - 」)

+0

請至少*基本*注意格式化您的答案。否則,您會冒險降薪。 –

+0

再加上它幾乎沒有任何意義,發佈一個新的答案,用一個*接受*答案的兩年老問題。 –