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

问题描述 投票:0回答:1

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

@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();
                    }

                }

这里我得到空引用异常@ Html.DropDownListFor(model => model.Movie.GenreId,新的SelectList(Model.Genres,“ Id”,“名称”),“ Select”,新的{@class =“ form-control“})我有一个...

asp.net-mvc asp.net-mvc-4
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.