Asp.net mvc 3 如何在视图调用中保留模型内容
我有一个模型正在视图中使用,该视图可以编辑该模型。在显示视图之前,将在模型中设置外键,并且不会在视图中触摸外键。如果该字段为零,则视图显示该字段的下拉列表;如果该字段不为零,则跳过该下拉列表Asp.net mvc 3 如何在视图调用中保留模型内容,asp.net-mvc-3,view,razor,Asp.net Mvc 3,View,Razor,我有一个模型正在视图中使用,该视图可以编辑该模型。在显示视图之前,将在模型中设置外键,并且不会在视图中触摸外键。如果该字段为零,则视图显示该字段的下拉列表;如果该字段不为零,则跳过该下拉列表 @if (Model.RepairOrderId == 0) { <div class="editor-label"> @Html.LabelFor(model => model.RepairOrderId) </div> <di
@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
{
}
@if(Model.RepairOrderId==0)
{
@LabelFor(model=>model.RepairOrderId)
@Html.DropDownListFor(model=>model.RepairOrderId,model.Orders)
@Html.ValidationMessageFor(model=>model.RepairOrderId)
}
其他的
{
}
当调用HTTP POST控制器方法时,模型包含所有已编辑的字段,但未触及的外键属性现在为空。我应该在else
块中放入什么来保持非零的RepairOrderId?@Html.HiddenFor(model=>model.RepairOrderId)
这将在html中生成一个隐藏的输入,这样modelbinder将拾取该值并在viewmodel中进行设置