0
[HttpPost]
public ActionResult Create(Playlist playlist)
{
    if (ModelState.IsValid)
    {
        if (Session["Playlist"] != null)
        {
            List<int> musicIds = new List<int>();
            musicIds = Session["Playlist"] as List<int>;
            if (musicIds.Count > 0)
            {
                UserProfileRepository UserProfileRepository = new UserProfileRepository(db);
                string Name = this.User.Identity.Name;
                UserProfile User = UserProfileRepository.getModelByName(Name);
                playlist.UserId = User.UserId;

                db.Playlists.Add(playlist);
                db.SaveChanges();

                foreach (var item in musicIds)
                {
                    Music music = db.Musics.Find(item);
                    /*
                     * Error in the line below, it says: 
                     *  Object reference not set to an instance of an object. 
                     * */
                    playlist.Musics.Add(music);
                }

                db.SaveChanges();
                return RedirectToAction("Index");
            }
        }
    }

    return View(playlist);
}

みなさん、こんにちは。誰かが私のコードのどこが悪いのか教えてもらえますか?プレイリストと音楽の両方がインスタンス化されたときに、「オブジェクト参照がオブジェクトのインスタンスに設定されていません。」と表示される理由がわかりません。

前もって感謝します!

4

1 に答える 1

1

それplaylist.Musicsはnullであることを意味します。
コンストラクターで初期化する必要があります。

于 2012-12-04T22:27:46.663 に答える