Это мое первое приложение в MVC.
Я хочу проверить, имеет ли значение свойства списка с именем movies объекта модель или нет.Так что, если пользователь пытается найти детали фильма и этот фильм не существует, он должен получить ошибку.
Допустим, в списке фильмов есть данные только для двух фильмов, но пользователь пытается получить доступ: / Movie / Details / 3 или / Movie / Details / abc
Я хочу обработать такие недействительные запросы.
MovieController
public class MovieController : Controller
{
MovieCustomerViewModel model = new MovieCustomerViewModel();
// GET: Movie
public ActionResult Index()
{
model.movies = new List<Movie>
{
new Movie{id=1,name="Shrek"},
new Movie{id=1,name="Wall-e"}
};
return View(model);
}
public ActionResult Details(int? id)
{
if (id < 1 || id > 2 || !id.HasValue || model.movies.Count==0)
return HttpNotFound();
else
return View();
}
}
Одним простым способом является использование свойства List Count , но при этом выдается NullReferenceException .
![enter image description here](https://i.stack.imgur.com/b45hP.png)
Это говорит мне, что модель была восстановлена и значения, присвоенные в Индекс ограничивается только этим действием.Как новичок, я не понимаю, что делать тогда ..
-Я могу использовать конструктор для присвоения значений, но я не уверен в этом.Это хороший подход?
-Можно ли решить эту проблему с помощью атрибутов маршрута?
-Мне что-то не хватает в атрибутах действия или атрибутах маршрута на данном этапе обучения?
Заранее спасибо.