我在模型@model SharedLibrary.Sample
的视图中有以下表单:
using (Html.BeginForm("Send", "Sample", FormMethod.Post))
{
@Html.HiddenFor(y => y.QCDate, Model.QCDate)
@Html.HiddenFor(y => y.GRV, Model.GRV)
@Html.HiddenFor(y => y.Pallet, Model.Pallet)
@Html.HiddenFor(y => y.PONo, Model.Pallet.Grv.PONo)
@Html.HiddenFor(y => y.PalletSeq, Model.Pallet.PalletSeq)
@Html.HiddenFor(y => y.SampleNo, Model.SampleNo)
@Html.HiddenFor(y => y.Clerk, Model.Clerk)
@Html.HiddenFor(y => y.Supervisor, Model.Supervisor)
@Html.HiddenFor(y => y.StatusClerk, Model.StatusClerk)
@Html.HiddenFor(y => y.StatusSupervisor, Model.StatusSupervisor)
@Html.HiddenFor(y => y.QtyInspected, Model.QtyInspected)
@Html.HiddenFor(y => y.MassOff, Model.MassOff)
@Html.HiddenFor(y => y.Product, Model.Product)
@Html.HiddenFor(y => y.Variety, Model.Variety)
@Html.HiddenFor(y => y.Supplier, Model.Supplier)
@Html.HiddenFor(y => y.Defects, Model.Defects)
<input type="submit" value="Email" class="pull-right btn btn-default" />
}
当我单步执行该程序时,我可以看到在创建视图时明确填充了属性Pallet
和Defects
(它们包含Pallet
和{{类型的对象1}}分别)。
但是,当我单击List<QCItem>
按钮并逐步执行控制器中的代码时,我可以看到这些属性都包含Email
,即使其他属性都已填充:
null
我从哪里开始调试此问题?我觉得在属性可以设置为null之间没有可能的步骤。
我尝试删除所有其他属性的public class SampleController
{
[HttpPost]
public ActionResult Send(Sample sample)
{
return View(sample);
}
}
只是为了确保它们是以这种形式设置的,并且肯定会导致将空hiddenField
对象发送到控制器。
非常感谢任何帮助,谢谢。