2017-06-14 153 views
0

对不起,如果这是一个简单的问题,但如果我想在模型中有一个列表,并且稍后访问并设置列表的值?模型中的嵌套列表和查看和存储数据

说我的主要模式是这样的:

public class StartPageModel : IPageViewModel<StartPage> 
{ 
    public IList<ListContent> ListContent { get; set; } 
    public StartPage CurrentPage { get; set; } 
} 

public class ListContent 
{ 
    public IList<ListElement> ArticleListContent { get; set; } 
    public IList<ListElement> InsightListContent { get; set; } 
} 

我怎样才能在ArticleListContent列表中引用父模型设置为一个值?

public ActionResult Index(StartPage currentPage) 

{ 
var model = new StartPageModel(currentPage);  
model.ListContent.ArticleListContent = GetListContent(currentPage.ArticleCollection); 
} 

然而,这将返回错误:

IList does not contain a definition for 'ArticleListContent'

+0

@霜这是什么意思?这是一个编译错误,使用不同的浏览器不会改变任何东西。 – CodeCaster

回答

1

我不知道你需要的ListContent集合在你StartPageModel,纠正我,如果我错了。

变化

public IList<ListContent> ListContent { get; set; } 

public ListContent ListContent { get; set; } 

而且提供ListContent被初始化,您的任务将工作。

1

这是因为它引用ListContent的列表,而不是该列表中的单个项目。这里有一些例子:

 var model = new StartPageModel(currentPage); 

     model.ListContent[0].ArticleListContent = GetListContent(currentPage.ArticleCollection); // Access first in list 
     model.ListContent[1].ArticleListContent = GetListContent(currentPage.ArticleCollection); // Access secondin list 
     model.ListContent.First().ArticleListContent = GetListContent(currentPage.ArticleCollection); // Access first in list using Linq