0
我正在嘗試在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; }
}
我已經嘗試在創建方法中分配載體和製造商,但它仍導致驗證失敗。
你有沒有看到爲什麼被標記爲無效? –
請使用查看代碼更新您的問題。不看你的觀點就很難猜出答案。 – Jayee
發送模型進行查看並不是一個好習慣。創建一個VIewmodel類並將其發送到視圖。 – Jayee