如何初始化对象列表

时间:2014-06-20 13:45:08

标签: c# asp.net-mvc

这是我的控制器获取blogpost列表并存储在listOfBlogposts中:

 //BlogHome
        public ActionResult BlogHome(string pageId, string viewName)
        {
            var page = RavenSession.Load<ContentPage>(pageId) as BlogListContentPage;

            var listOfAllBlogPosts =
                RavenSession.Query<ContentPage>().Where(o => o.Template.Action.Equals("SingleBlogPost")).ToList();

            page.SingleBlogPostsContentPages = listOfAllBlogPosts;

            return View(viewName, page);
        }

包含列表的类:

public class BlogListContentPage : ContentPage
{
    public List<ContentPage> SingleBlogPostsContentPages { get; set; }
}

当调试器到达此行时:

page.SingleBlogPostsContentPages = listOfAllBlogPosts;

我收到错误:

  

对象引用未设置为对象的实例

这对我来说是一个常见的错误,我不知道如何解决它。当你像这个例子一样使用继承时,它可能会更复杂。

1 个答案:

答案 0 :(得分:-1)

列表SingleBlogPostsContentPages为null,因此程序显示Object引用未设置为对象的实例。为避免此更改,将类BlogListContentPage更改为:

public class BlogListContentPage : ContentPage
{
    public BlogListContentPage()
    {
        SingleBlogPostsContentPages = new List<ContentPage>();
    }
    public List<ContentPage> SingleBlogPostsContentPages { get; set; }
}