如何解决 ASP.NET MVC 中的空引用异常

How to resolve null reference exception in ASP.NET MVC

这是我得到空引用异常的地方

@Html.DropDownListFor(model => model.Movie.GenreId, new SelectList(Model.Genres, "Id", "Name"),"Select", new { @class = "form-control" })

我有一个MovieViewModel,在我的控制器中构建创建逻辑并将其呈现到视图之前,我通过它传递了我的流派和电影模型

 // GET: Movies/Create
                public ActionResult Create()
                {

                    var genres = _DbContext.Genres.ToList();
                    var ViewModel = new MovieViewModel
                    {
                        Genres = genres
                    };
                    return View(ViewModel);
                }

                // POST: Movies/Create

                [HttpPost]
                public ActionResult Create(Movie movie)
                {
                    // TODO: Add insert logic here
                    try
                    {
                        // TODO: Add insert logic here
                        _DbContext.Movies.Add(movie);
                        _DbContext.SaveChanges();

                        return RedirectToAction("Index");
                    }
                    catch
                    {
                        return View();
                    }

                }

空引用异常发生在假定值存在时,但它是 null。当您构建下拉列表时,将假定出现在该控件中的元素具有您指定的 Id 和 Name 值。由于未满足该期望(名称可能为空),您会收到此错误。您应该使用过滤器以避免将空值加载为名称,或者使用默认值。