我有一个可以在视图中使用的模型,可以编辑模型。在显示视图之前设置模型中的外键,并且在视图中不触摸该外键。如果该字段为零,则视图显示该字段的下拉列表;如果该字段不为零,则会跳过该下拉列表。
@if (Model.RepairOrderId == 0)
{
<div class="editor-label">
@Html.LabelFor(model => model.RepairOrderId)
</div>
<div class="editor-field">
@Html.DropDownListFor(model => model.RepairOrderId, Model.Orders)
@Html.ValidationMessageFor(model => model.RepairOrderId)
</div>
}
else
{
}
当调用HTTP POST控制器方法时,模型包含已编辑的所有字段,但未触摸的外键属性现在为空。我应该在else
块中放置什么来保持非零的RepairOrderId?
答案 0 :(得分:2)
@ Html.HiddenFor(model =&gt; model.RepairOrderId)
这会在你的html中生成一个隐藏的输入,这样模型绑定器就会获取值并在你的viewmodel中设置它。