如何在View调用中保留模型内容

时间:2011-08-20 18:25:56

标签: asp.net-mvc-3 view razor

我有一个可以在视图中使用的模型,可以编辑模型。在显示视图之前设置模型中的外键,并且在视图中不触摸该外键。如果该字段为零,则视图显示该字段的下拉列表;如果该字段不为零,则会跳过该下拉列表。

@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?

1 个答案:

答案 0 :(得分:2)

@ Html.HiddenFor(model =&gt; model.RepairOrderId)

这会在你的html中生成一个隐藏的输入,这样模型绑定器就会获取值并在你的viewmodel中设置它。