Я создал частичное представление для использования представлением «Редактировать» моей модели. Я могу успешно редактировать записи, но при использовании частичного представления для моего представления «Создать» я получаю исключение нулевой ссылки.
Это мой частичный взгляд:
@model MvcA.Models.Reason
@Html.LabelFor(model => model.reason)
@Html.EditorFor(model => model.reason)
@Html.LabelFor(model => model.Contract)
@Html.DropDownList("ContractId",
new SelectList(ViewBag.Contract as System.Collections.IEnumerable,
"ContractId","Name",Model.ContractID));
И POST ActionResult:
[HttpPost]
public ActionResult Create(Reason reason)
{
if (ModelState.IsValid)
{
db.Reason.Add(reason);
db.SaveChanges();
return RedirectToAction("Index");
}
//invalid ...
GET Создать:
public ActionResult Create()
{
ViewBag.Contract = db.Contract.OrderBy(g => g.Name).ToList();
var reason = new Reason();
return View(reason);
}
После ввода / выбора допустимых значений отправка формы приведет к тому, что Visual Studio завершит работу с «DropDownList», найденным в частичном представлении с «NullReferenceException is nothandled».
Как определить, что является причиной ошибки NULL? (Я новичок в MVC)
ОБНОВЛЕНИЕ : Похоже, ошибка связана с методом [HttpPost] Create в моем контроллере. Я назвал входной класс, используя то же имя, что и одно из полей в модели ... это, кажется, сломало программу с исключением нулевой ссылки.