To jest prawdopodobnie naprawdę proste ... Próbuję utworzyć SelectList
, zawierający lata od bieżącego, do 2008 roku. Tak będzie zawsze. Na przykład, w 2020 roku, mój SelectList będzie zawierać wartości od 2020 - 2008.SelectList dla lat
I utworzonej tej pętli, ale nie jestem pewien, co najlepsze miejsce, aby iść z tym jest
for (int i = currentYear; i != 2009; --i)
{
}
Czy jest możliwe utworzenie pojedynczego SelectListItem
i "dodanie" go do SelectList
dla każdej iteracji?
Nie sądzę, że moje powyższe zdanie jest możliwe, więc moją następną myślą było stworzenie listy lat, a następnie użycie LINQ do jej stworzenia.
var selectList = ListOfYears.Select(new SelectListItem
{
Value =
Text =
});
Ale nie jestem całkowicie pewien, jak uzyskać wartość z listy. Dzięki
ostatecznie, gdy ten staje się listy rozwijanej, przewiduję, że będzie wymienione w kolejności 2008 ... 2012. Czy istnieje sposób, aby to odwrócić? "Zakres" nie wydawał się podobać wartościom ujemnym. Ponadto szybkie uruchomienie debuggera pokazuje, że Twój kod pochodzi z okresu 2008-2011. Łatwe rozwiązanie – Jeff
Wystarczy rzucić .Reverse() po Enumerable.Range. –
Dziękuję. To działa 'var selectList = new SelectList (Enumerable.Range (2008, DateTime.Now.Year - 2007) .Reverse());' – Jeff