2013-11-01 18 views
8

Geçerli yılı ve gelecek 10 yılı gösteren MVC4 (Görünüm) listesinde bir açılır liste oluşturmanın en iyi yolu nedir? Bir enum yapmalıyım ve sonra benim görünüm modelime dahil etmeli ve bu enum türünde bir değişken yapmalı mıyım?Dropdown Gelecek 10 yıl için

+1

Bir şey denediniz mi? Belki DateTime.Now.Year başlayan ve 9 kez artan için bir döngü. Razor sözdizimi hakkında ne düşünüyorsun? – Gusdor

+6

Enum çözümünüz, uygulamanızın her Aralık ayında yeniden dağıtılmasını gerektirir. 31. –

cevap

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

size yılın zor kodlu olacağı .every sonu için Enum kullandığınızda sonra DropDownList

9

için SelectList() yapıcısı kullanabileceğiniz sayıları Eğer yeniden dağıtmaya gerekirdi verecek çözüm.Sen iş katmanında aşağıdaki kodu olarak kullanmak ve sunucuya dayalı görüntü katmanı içine itmek daha iyi Tarih Her kullanıcı önümüzdeki 10 yıl geri çekilebilir.

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

ustura için "yeni SelectList" add aşağıdaki kodu

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

kullanabilirsiniz:

@ Html.DropDownList ("Yıl", yeni SelectList (Enumerable.Range (DateTime. Now.Year, 10) .ToList()), "- Select Year -")

+0

Lütfen cevabınızı biçimlendirmek için en az * temel * dikkat edin. Aksi takdirde riskleri azaltırsınız. –

+0

Plus, * kabul edilmiş * bir cevap ile iki yıllık bir soruya yeni bir cevap göndermenin bir anlamı yoktur. –