Когда вы делаете это в своем действии контроллера:
return View();
Вы не передаете модель в представление, поэтому Model
в представлении - это null
. Когда вы пытаетесь вызвать методы расширения (например, .Count()
) по ссылке null
, вы получаете эту ошибку. (Поскольку технически это не NullReferenceException
, а скорее метод расширения, проверяющий, является ли первый аргумент null
, и выдает исключение.)
Вам нужно будет либо проверить null
в вашем представлении , или всегда передавайте экземпляр модели. Как и в первом действии контроллера:
return View(new List<CategoryModel>());
Кстати, после успешного действия POST обычно обычно перенаправляют пользователя, а не возвращают представление. Таким образом, браузер отправляет новый HTTP-запрос GET для перенаправления, поэтому, если пользователь перезагружает страницу, он не выполняет повторную отправку формы, а просто перезагружает GET.
Итак, вместо этого:
return View();
Вы можете сделать это:
return RedirectToAction("Index");