Общий список не отображается в ViewBag - PullRequest
0 голосов
/ 19 декабря 2011

Я не могу назначить общий список ViewBag.Вот мой код:

var m = from i in Enumerable.Range(0, 12)
        let now = DateTime.Now.AddMonths(i)
        select now.ToString("MMMM") + " " + now.Year.ToString();

ViewBag.b = m;

Я получаю это при выводе значения ViewBag:

System.Linq.Enumerable.WhereSelectEnumerableIterator<int,string>

Ответы [ 2 ]

4 голосов
/ 19 декабря 2011

Вы можете привести его к списку, подобному этому:

var m = (from i in Enumerable.Range(0, 12)
         let now = DateTime.Now.AddMonths(i)
         select now.ToString("MMMM") + " " + now.Year.ToString()).ToList();
ViewBag.b = m;

А затем, на ваш взгляд:

@{
    var myList = ViewBag.b as List<string>;
}

<ul>
    @foreach (var item in myList)
    {
        <li>@item</li>
    }
</ul>
3 голосов
/ 19 декабря 2011

Элементы в списке будут рассчитываться динамически, когда вы выполняете foreach для этого значения.если вам от этого станет лучше, вы можете добавить туда .ToList

var m = (from i in Enumerable.Range(0, 12)
                    let now = DateTime.Now.AddMonths(i)
                    select now.ToString("MMMM") + " " + now.Year.ToString()).ToList();
...