【问题标题】:Gallery Model with Picture and Comments in MVC3MVC3 中带有图片和注释的图库模型
【发布时间】:2012-01-17 04:25:25
【问题描述】:

我刚刚学会了如何上传图片并将它们带到视图模型中。

现在我正在尝试将 cmets 添加到图片中。这意味着一张图片可以有更多的cmets。 所以我创建了 2 个表,分别称为“图库”和“评论”。它们通过“一对多”相关联.. 我的模型看起来像这样..

公共类 GalleryEntries { 公共列表条目 { 获取;放; } } 公开课 GalleryEntry { 公共画廊 GalleryImage { 得到;放; } 公共列表评论{获取;放; } }

而且控制器看起来如此..

GalleryDataContext GalleryDB = new GalleryDataContext(); 公共行动结果索引() { GalleryEntries 模型 = new GalleryEntries(); GalleryEntries galleryentries = new GalleryEntries(); foreach(GalleryDB.Galleries 中的画廊画廊) { GalleryEntry galleryentry = new GalleryEntry(); galleryentry.Comments = GalleryDB.Comments.Where(c => c.BildID == gallery.ImageID).ToList(); Galleryentry.GalleryImage = 画廊; galleryentries.Entries.Add(galleryentry); } 返回视图(模型); }

但它不起作用。 :( 它在

所在的行显示“对象引用未设置为对象的实例”
 "galleryentries.Entries.Add(galleryentry) 
代表..我该如何解决这个问题?

【问题讨论】:

    标签: asp.net asp.net-mvc-3 file-upload


    【解决方案1】:

    我认为问题在于您没有在任何地方初始化GalleryEntries.Entries 属性......所以您试图将galleryentry 添加到一个尚不存在的列表中,因此出现NullReferenceException。

    您可以在构造函数中初始化条目:

    public class GalleryEntries
    {
        public IList<GalleryEntry> Entries { get; set; }
    
        public GalleryEntries() {
            Entries = new List<GalleryEntry>();
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多