我有一个Razor视图渲染嵌套集合,其中包含以下代码......
<td>
@Html.TextBoxFor(x => x.Fitments[i].AncillaryProducts[ai].Description)
@Model.Fitments[i].AncillaryProducts[ai].Description
</td>
这应显示一个编辑框,后跟编辑框值的文本,但生成的html是......
<td>
<input name="Fitments[0].AncillaryProducts[0].Description" class="valid" id="Fitments_0__AncillaryProducts_0__Description" aria-invalid="false" type="text" value="Valve (alloy/mobile)">
Valve (alloy/center)
</td>
文本框值&#34;阀门(合金/移动)&#34;明显不同于实际值&#34;阀门(合金/中心)&#34;。这怎么可能呢?
视图发布到动作方法,其中AncillaryProducts被清除......
foreach (var fitment in model.Fitments)
fitment.AncillaryProducts.Clear();
然后添加(不同的)辅助产品......
fitment.AncillaryProducts.Add(new JobCardAncillaryProduct() { Description = p.Description });
TextBoxFor正在渲染该数组条目的先前值,而Razor正在呈现当前值。
任何帮助都非常感激。