Я пытаюсь создать новую запись базы данных в ASP.NET MVC с использованием первой базы данных кода. Я создал контроллер для модели с подмостками и представлениями, и каждый раз, когда я пытаюсь сделать POST для создания модели, она никогда не бывает действительной, две модели, которые являются членами той, которую я пытаюсь создать, всегда равны нулю.Код сначала создать пост
Ниже приведен код создания POST в моем контроллере.
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "DeviceNumber,ManufacturerNumber,CarrierNumber,Name")] Device device)
{
if (ModelState.IsValid)
{
db.Devices.Add(device);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.CarrierNumber = new SelectList(db.Carriers, "CarrierNumber", "CarrierID", device.CarrierNumber);
ViewBag.ManufacturerNumber = new SelectList(db.Manufacturers, "ManufacturerNumber", "ManufacturerID", device.ManufacturerNumber);
return View(device);
}
Следующая модель, которую я пытаюсь создать. Ошибки в ModelState всегда говорят мне, что Производитель и Перевозчик имеют нулевое значение, но они необходимы.
public class Device
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int DeviceNumber { get; set; }
[ForeignKey("ManufacturerNumber"), Required]
public virtual Manufacturer Manufacturer { get; set; }
public int ManufacturerNumber { get; set; }
[ForeignKey("CarrierNumber")]
[Required]
public virtual Carrier Carrier { get; set; }
public int CarrierNumber { get; set; }
[Required]
public string Name { get; set; }
}
Я попытался назначить Перевозчика и производителя в методе Create, но это все еще приводило к неудачной проверке.
Вы видели, почему это отмечено как недействительное? –
Пожалуйста, уточните свой вопрос с кодом просмотра. Трудно угадать ответ, не глядя на ваше мнение. – Jayee
Неправильная практика отправки модели для просмотра. Создайте класс VIewmodel и отправьте его в представление. – Jayee