代码之家  ›  专栏  ›  技术社区  ›  Caverman

MVC 5不能循环遍历列表中的列表?

  •  0
  • Caverman  · 技术社区  · 8 年前

    我有一个XML文档,我正在阅读它来创建一个对象列表,在该对象内部是另一个对象列表。我不知道怎么做的是循环浏览次要列表。

    我有一份按年份分组的时事通讯列表。第一个列表是所有年份的列表(例如:2018年、2017年、2016年、2015年),然后年份内是另一个实际时事通讯列表。

    我可以循环浏览年份列表,但找不到方法循环浏览当年的新闻稿列表。

    在我看来,我正在尝试这样做,但没有看到新闻稿列表。

    @foreach (var year in Model.NewsletterYearList)
    {
        foreach (var item in Model.NewsletterYearList.NewsletterList)
        {
    
        }
    }
    

    这是我的ViewModel:

       public class NewsletterViewModel
        {
            public List<NewsletterYear> NewsletterYearList;
        }
    
        public class NewsletterYear
        { 
            public string Year { get; set; }
            public List<Newsletter> NewsletterList; 
        } 
    

    这是一个模型的屏幕截图(为了开发的目的,我只做了3个月,3年)。 enter image description here

    2 回复  |  直到 8 年前
        1
  •  2
  •   Keith Nicholas    8 年前

    根据您的模型,您的代码应该是:-

      @foreach (var year in Model.NewsletterYearList)
      {
            // we have a year, and year contains all the newsletters for this year
            // so lets loop through the newsletters....
            foreach (var item in year.NewsletterList)
            {
                 // item is the newsletter...
            }
      }
    
        2
  •  -1
  •   marc_s MisterSmith    6 年前

    根据你的模型构造,你的循环结构应该是这样的

    @if(Model != null && Model.NewsletterYearList.Count >0){
       foreach(var year in Model.NewsletterYearList.Count){
          // Already we had reference of single item of
          // Model.NewsletterYearList variable in 'year'
          // So directly use variable 'year' in next iteration
         foreach(var newsletter in year.NewsletterList){
            // Your business logic
         }
    
       }
    }