我有一个编辑视图,允许我的用户更新有关车辆的技术信息。进行编辑时,我想将客户编号和车辆编号传递给控制器,以便我可以针对客户和车辆进行审核日志条目以记录更改。
我的控制器中有这段代码:
得到:
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 没有作为属性与表单一起提交。
我能做些什么来确保这些值被传递?