1
編集画面があり、エラーが表示されます。ユーザーはオブジェクトを編集できますが、外部キーはnullになります。そして、これは大きな問題を引き起こします。それはなぜ外来キーを取得しませんか?ここに私のコードです...MVCで、編集機能が外部キーを紛失しました
最初の関数は完璧ですが、HttpPostを持つものはTcmbCurrencyIdの値を外すため、外来キーです。これをどうすれば解決できますか?
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);
}
にフォーム内にこれを追加しますか? '@Html.HiddenFor(model => model.TcmbCurrencyId)'?そうでない場合は、送信時にコントローラに通知されません。フォームに使用されている値のみが送信時にコントローラにポストバックされます。 – Nkosi