Bir Edit ekranım var ve bir hata alıyorum. Kullanıcı nesneyi düzenleyebilir ancak Yabancı Anahtar null olur. Ve bu büyük bir soruna neden oluyor. Neden Yabancı Anahtarı almıyor? İşte benim kodum ...MVC'de, Edit işlevi yabancı anahtarı özlüyor
İlk işlev mükemmel, ancak HttpPost olanı, bir Yabancı Anahtar olan TcmbCurrencyId değerini kaybeder. Bunu nasıl düzeltebilirim?
public ActionResult Edit(int? Id)
{
if (Id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
TmcbExchangeRate rate = db.TmcbExchangeRate.Where(x=>x.Id==Id).First();
if (rate == null)
{
return HttpNotFound();
}
return View(rate);
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include = "Id,TcmbCurrencyId,RateDate,ForexBuying,ForexSelling,BanknoteBuying,BanknoteSelling")] TmcbExchangeRate tmcbExchangeRate)
{
if (ModelState.IsValid)
{
db.Entry(tmcbExchangeRate).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(tmcbExchangeRate);
}
daki form içinde bu eklensin mi? @ Html.HiddenFor (model => model.TcmbCurrencyId) '? Aksi takdirde gönderilecek olan kontrolöre gönderilmez. Yalnızca formda kullanılan değerler, teslim edilen kontrolöre geri gönderilir. – Nkosi