ユーザーが車両に関する技術情報を更新できる編集ビューがあります。編集が実行されたら、顧客番号と車両番号をコントローラに渡し、顧客と車両に対して監査ログ エントリを作成して変更を記録できるようにします。
コントローラーに次のコードがあります。
得る:
public ActionResult Edit(int id, int? AuditLogID, int? ErrorLogID, int CustomerNo, int VehicleNo)
役職:
public ActionResult Edit(int id, VehicleAssetTechnicalInformation technicalInformation, int CustomerNo, int VehicleNo)
CustomerNo と VehicleNo が必要です。すべてを監査する必要があるため、これらの詳細がないと更新を続行できません。
私の Edit.cshtml ビューには、次のものがあります。
@using (Html.BeginForm("Edit",
"VehicleAssetTechnicalInformation",
FormMethod.Post,
new { CustomerNo = (int)ViewBag.CompanyID,
VehicleNo = (int)ViewBag.VehicleID }))
ビュー内では、ViewBag.CompanyID と ViewBag.VehicleID をユーザーに表示することもできるので、ビューが読み込まれたときにそれらが存在することがわかります。
ただし、フォームを送信すると、次のようになります。
The parameters dictionary contains a null entry for parameter 'CustomerNo' of non-nullable type 'System.Int32' for method 'System.Web.Mvc.ActionResult Edit(Int32, VehicleAssetTechnicalInformation, Int32, Int32)
何らかの理由で、CustomerNo と VehicleNo がフォームの属性として送信されていません。
これらの値が確実に渡されるようにするにはどうすればよいですか?